android之MediaPlay播放视频

——使用MediaPlay+SurfaceView播放视频

MediaPlay主要是播放音频,所有没有界面,需要使用surfaceView绘制输出界面。

使用步骤:

  1)在界面的布局文件中定义SurfaceView组件。和播放按钮,暂停按钮

  2)创建MediaPlayer对象,加载指定的视频文件

  3)setDisplay()用来指定MediaPlay播放的视频图像显示位置

     player.setDisplay(surfaceView.getHolder());

  4)调用MediaPlayerstart,stop,pause方法控制视频的播放

注意:要把视频文件放入到Genymotion虚拟机中的SD卡里,放到第一层的0文件下,看下图:

android之MediaPlay播放视频_第1张图片

代码编写:

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();
		} 
效果图:



你可能感兴趣的:(android,视频,mediaplayer,SurfaceView)