Android 如何调用MediaPlayer播放视频
使用MediaPlayer播放音视频的最简单实例:
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();    }}



布局文件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可以使本地地址或网络地址
public static MediaPlayer create(Context context, Uri uri);
  • 类似URL方式,多一个SurfaceHolder
public static MediaPlayer create(Context context, Uri uri, SurfaceHolder holder) ;
  • 资源ID方式. 例如:MediaPlayer player = MediaPlayer.create(this, R.raw.test);
public static MediaPlayer create(Context context, int resid) ;
  • 空构造函数
public MediaPlayer();

第二:设置数据源,部分构造函数已经设置数据这一步可以跳过
  • 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)



更多相关文章

  1. C语言函数以及函数的使用
  2. 使用程序创建Android桌面快捷方式
  3. Android通过http协议POST传输方式
  4. Android Studio中如何隐藏顶部状态栏和标题栏
  5. Android中去除标题,全屏,获得屏幕方向及键盘状态
  6. Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式

随机推荐

  1. Gradle-jar-aar
  2. android中ColorStateList及StateListDraw
  3. Android进阶之代码应用技巧
  4. Android(安卓)GPS架构分析
  5. 4种必须知道的Android屏幕自适应解决方案
  6. Android(安卓)TextView字体颜色等样式详
  7. Android(安卓)Sqlite Failed to open dat
  8. 做android 开发遇到的问题及解决办法记录
  9. Android(安卓)主动获取电量的方法
  10. android 如何实现EditText从不可编辑状态