Android 如何调用MediaPlayer播放视频[状态机]【图】
来源:互联网 发布:淘宝买手机 编辑:程序博客网 时间:2024/06/03 20:20
Android 如何调用MediaPlayer播放视频
使用MediaPlayer播放音视频的最简单实例:
- <span style="font-size:18px;">public class MediaPlayerDemo extends Activity {
- private Button mBtnPlay, mBtnPause, mBtnStop;
- private MediaPlayer mPlayer = new MediaPlayer();
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mBtnPlay= (Button)findViewById(R.id.play);
- mBtnPause= (Button)findViewById(R.id.pause);
- mBtnStop= (Button)findViewById(R.id.stop);
- mBtnPlay.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
- try {
- mPlayer.setDataSource("/mnt/sdcard/love.mp3");
- mPlayer.prepare();
- mPlayer.start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- mPlayer.setOnCompletionListener(new OnCompletionListener(){
- @Override
- public void onCompletion(MediaPlayer mp) {
- mPlayer.release();
- }
- });
- }
- });
- mBtnPause.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
- if(mPlayer != null){
- mPlayer .pause();
- }
- }
- });
- mBtnStop.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
- if(mPlayer != null){
- mPlayer.stop();
- }
- }
- });
- }
- @Override
- protected void onDestroy() {
- if(mPlayer != null)
- mPlayer.release();
- super.onDestroy();
- }
- }</span>
布局文件main.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content" android:text="@string/hello" />
- <Button android:text="play" android:id="@+id/play"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"></Button>
- <Button android:text="pause" android:id="@+id/pause"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"></Button>
- <Button android:text="stop" android:id="@+id/stop"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"></Button>
- </LinearLayout>
程序说明:
第一:MediaPlayer有多重构造函数,满足各种视频的播放
- URI方式,URI可以使本地地址或网络地址
- 类似URL方式,多一个SurfaceHolder
- 资源ID方式. 例如:MediaPlayer player = MediaPlayer.create(this, R.raw.test);
- 空构造函数
第二:设置数据源,部分构造函数已经设置数据这一步可以跳过
- setDataSource (String path);
- setDataSource (FileDescriptor fd);
- setDataSource (Context context, Uri uri);
- setDataSource (FileDescriptor fd, long offset, long length);
第三:对播放器的主要控制方法:
- Android通过控制播放器的状态的方式来控制媒体文件的播放,其中:
- prepare() 播放器进入prepare状态;
- start() 播放器进入play状态
- pause() 播放器进入pause状态
- stop() 播放器进入stop状态
- seekTo() 播放器定位到某个播放位置是定位方法
- release() 播放器释放占用的资源
- reset() 播放器从Error状态恢复
第四:设置播放器的监听器:
MediaPlayer提供了播放完成监听和错误监听,以及时处理特殊逻辑。确保播放器的鲁棒性。
- setOnCompletionListener(MediaPlayer.OnCompletionListener listener)
- setOnErrorListener(MediaPlayer.OnErrorListener listener)
0 0
- Android 如何调用MediaPlayer播放视频[状态机]【图】
- Android 如何调用MediaPlayer播放视频[状态机]【图】
- Android 视频播放 MediaPlayer
- Android mediaPlayer 播放视频
- Android MediaPlayer播放视频
- android mediaplayer 播放 视频 【转】
- android Mediaplayer 播放音视频
- Android视频播放器mediaplayer
- Android MediaPlayer视频播放详情
- Android视频播放之MediaPlayer
- Android使用MediaPlayer播放视频
- android视频播放MediaPlayer+SurfaceView
- MediaPlayer/MediaPlayer 视频播放
- Android MediaPlayer状态机
- Android MediaPlayer状态机
- Android MediaPlayer状态机
- Android MediaPlayer状态机
- Android MediaPlayer状态机
- 差点就发现了完全背包。。
- 未能加载文件或程序集“System.EnterpriseServices, Version=4.0.0.0..."系统找不到指定的文件
- Error pulling origin: error: The following untracked working tree files would be overwritten by...
- 为OpenWrt安装图形配置界面(LUCI)
- jQuery验证控件jquery.validate.js使用说明+中文API
- Android 如何调用MediaPlayer播放视频[状态机]【图】
- Unknown provider: formatFileSizeFilterProvider <- formatFileSizeFilter AngularJS
- UVA 10330 Power Transmission(网络最大流)
- Android开发EditText属性
- 23个设计模式的简明教程_转载JOBBOLE
- Apache Maven 入门篇(下)
- Ubuntu下 Eclipse菜单栏消失
- 转SQL Server 的事务和锁
- 利用email.net设置网络代理发邮件