——使用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(); }
mediaPlayer=new MediaPlayer(); try { mediaPlayer.setDataSource("/sdcard/areyouok.3gp"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }效果图: