public class MyGridActivity extends Activity implements Callback,OnClickListener{
private static final String TAG = "MyGridActivity";
private Button btn1,btn2;
SurfaceHolder holder;
MediaPlayer mp;
SurfaceView sv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main04);
btn1 = (Button) findViewById(R.id.play2_Button);
btn2 = (Button) findViewById(R.id.pause2_Button);
sv = (SurfaceView) findViewById(R.id.mysurfaceView1);
holder = sv.getHolder();
holder.addCallback(this);
holder.setFixedSize(320,240);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mp = new MediaPlayer();
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
// TODO Auto-generated method stub
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==R.id.play2_Button){
mp.setDisplay(holder);
try{
mp.setDataSource("/sdcard/movie.mp4");
mp.prepare();
}catch(Exception e){
Log.e(TAG, e.getMessage(), e);
}
mp.start();
}else if(v.getId()==R.id.pause2_Button){
mp.stop();
}
}
}
XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<SurfaceView
android:id="@+id/mysurfaceView1"
android:layout_width="fill_parent"
android:layout_height="200px" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/play2_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放" />
<Button
android:id="@+id/pause2_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停" />
</LinearLayout>
</LinearLayout>
分享到:
相关推荐
Android 视频播放demo MediaPlayer+Surface实现 播放网络视频: MyMediaPlayer.getInstance().play("http://download.cntv.cn/docuchina/PSA/2017/08/28/3b69f457848e0b497b12e356376515df_mpeg28000000PCM.mp4"); ...
【MediaPlayer 播放器简易代码 DEMO】是一款面向初学者的简单多媒体播放器示例,旨在帮助开发者快速理解和应用 Android 系统内置的 `MediaPlayer` 类。在 Android 开发中,`MediaPlayer` 是一个非常重要的组件,它...
在Android开发中,`MediaPlayer` 是一个至关重要的组件,它用于播放音频和视频文件,无论是来自本地存储还是网络源。本篇文章将详细讲解如何利用`MediaPlayer` 实现网络流播放、本地播放,以及如何集成`SeekBar`进行...
8. **生命周期管理**: 如果mediaplayer demo是一个Activity或Fragment的一部分,那么在Activity的生命周期方法(如onResume()、onPause()、onDestroy())中,需要对MediaPlayer进行相应的操作,如重新开始播放、暂停...
这个"android mediaPlayer demo"是一个基础的示例,展示了如何在Android应用中集成和使用`MediaPlayer`类。下面我们将深入探讨`MediaPlayer`的相关知识以及如何在Android Studio项目中创建一个简单的播放器demo。 #...
【音乐播放demo MediaPlayer】是一个基于Android平台的音乐播放应用程序示例,主要利用了Android系统提供的`MediaPlayer`类来实现音乐的播放功能。`MediaPlayer`是Android SDK中的一个核心组件,用于处理多媒体文件...
【MediaPlayer Demo】是一个Android开发中的示例应用,主要展示了如何使用Android系统提供的`MediaPlayer`类来播放音频文件。在这个Demo中,开发者通过博客文章学习并实践了`MediaPlayer`的关键用法,以便用户可以在...
本"android rtsp播放DEMO"是一个简单的应用示例,展示了如何在Android设备上实现RTSP流媒体播放。通过修改RTSP地址,用户可以轻松切换不同的视频源进行播放,这为开发自定义视频播放器提供了基础。 首先,我们来看...
下面我们将 Step By Step 介绍如何完成本 Demo 的实现。 Step 1 : 新建一个 Android 工程,命名为 MediaPlayerDemo。 Step 2 : 准备素材,在 res 下建一个 raw 文件夹,将 foollove.mp3 导入,并将 play.png、...
在“测试mediaplayer的一个demo”项目中,我们将会深入探讨如何使用Mediaplayer类创建一个简单的媒体播放器应用。 首先,Mediaplayer类提供了播放、暂停、停止、重置和 seek(跳转)等基本操作。在我们的测试demo中...
【C# 仿MediaPlayer播放软件(源码)】 在编程领域,尤其是Windows应用程序开发中,C#语言以其高效、易用和丰富的库支持而受到广大开发者喜爱。本项目"仿MediaPlayer播放软件"就是一个很好的示例,它展示了如何利用C#...
本文将深入解析`MediaPlayer`的使用方法,并通过`VideoDemo`和`MusicDemo`两个示例来阐述其核心功能。 1. 初始化与创建 在使用`MediaPlayer`之前,首先需要实例化一个对象。通常,我们可以通过`MediaPlayer.create...
这个“mediaplayer”demo是一个优秀的学习资源,适合初学者入门,帮助理解如何在Android应用中实现多媒体播放。 在Android中,MediaPlayer类是核心的多媒体播放组件。它能够处理各种媒体源,如本地文件、网络流或...
Android提供了常见的音频、视频的编码、解码机制。借助于多媒体类MediaPlayer的支持,开发人员可以很方便在在应用中播放音频、视频。本篇博客主要讲解在Android平台下如何播放一个音频文件
这个Demo还可能展示了如何在界面上添加播放、暂停、停止等控制按钮,并将按钮的点击事件与`MediaPlayer`的方法关联起来,实现用户交互。此外,可能还会包含进度条的更新,这通常通过`seekTo()`方法和定时器实现。 ...
接下来,我们要实现描述中提到的“播放音乐的小demo”。这涉及到文件操作和事件处理。首先,你需要遍历指定的文件夹(例如“新建文件夹 (2)”),检索其中的mp3格式文件。在Delphi中,可以使用TDirectory和TFile类来...
Log.e("VideoDemo", "MediaPlayer error: what=" + what + ", extra=" + extra); return false; // 返回false,让系统默认处理 }); ``` 6. **最后,别忘了在Activity的生命周期中管理MediaPlayer**:在`onResume...
- `MediaPlayer`类:这是Android系统提供的一个核心组件,用于播放音频文件。在demo中,它可能被用来加载和控制音源的播放。 - `AudioTrack`类:对于更底层的音频处理,开发者可能也会使用`AudioTrack`来播放...
总的来说,"玩转 Android MediaPlayer之视频预加载(优化)"是关于如何在Android平台上利用MediaPlayer组件,结合网络条件、硬件能力、错误处理等多个方面,实现视频的高效预加载,提升播放体验的技术探讨。...