您的位置:首页 > 移动开发 > Android开发

Android之MediaPlay播放视频

2016-07-06 20:46 519 查看
——使用MediaPlay+SurfaceView播放视频
MediaPlay主要是播放音频,所有没有界面,需要使用surfaceView绘制输出界面。
使用步骤:
  1)在界面的布局文件中定义SurfaceView组件。和播放按钮,暂停按钮
  2)创建MediaPlayer对象,加载指定的视频文件
  3)setDisplay()用来指定MediaPlay播放的视频图像显示位置
     player.setDisplay(surfaceView.getHolder());
  4)调用MediaPlayer的start,stop,pause方法控制视频的播放
注意:要把视频文件放入到Genymotion虚拟机中的SD卡里,放到第一层的0文件下,看下图:



代码编写:
1.布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始"
android:onClick="start"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停"
android:onClick="stop"/>
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sv"/>

</LinearLayout>
2.MainActivity:

开始按钮:

public void start(View view){
try {
mediaPlayer.setDisplay(surfaceView.getHolder());
mediaPlayer.prepare();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.start();
}


暂停按钮:

public void stop(View view){
mediaPlayer.pause();
}


最后在OnCreat中:

mediaPlayer=new MediaPlayer();
try {
mediaPlayer.setDataSource("/sdcard/areyouok.3gp");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息