您的位置:首页 > 其它

VideoView和SurfaceView视频播放

2015-09-15 20:02 399 查看
VideoView是SurfaceView的子类

播放视频必须的写权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>


VideoView

<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" tools:context=".MainActivity">

<Button
android:id="@+id/button_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始播放"/>
<VideoView
android:id="@+id/videoview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

</LinearLayout>


public class MainActivity extends AppCompatActivity {
private Button mButtonStart;
private VideoView mVideoView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonStart= (Button) findViewById(R.id.button_start);
mVideoView= (VideoView) findViewById(R.id.videoview);
mButtonStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mVideoView.setVideoPath(Environment.getExternalStorageDirectory()+"/aa.mp4");
mVideoView.setMediaController(new MediaController(getApplicationContext()));
mVideoView.start();
}
});
}


SurfaceView

<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"
tools:context=".MainActivity">

<Button
android:id="@+id/button_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始播放"/>
<SurfaceView
android:id="@+id/surfaceview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>

</LinearLayout>


public class MainActivity extends AppCompatActivity {
private Button mButtonStart;
private SurfaceView mSurfaceView;
private  MediaPlayer player;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSurfaceView= (SurfaceView) findViewById(R.id.surfaceview);
mButtonStart= (Button) findViewById(R.id.button_start);
mButtonStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (player==null){
player=new MediaPlayer();
}
player.reset();
try {
player.setDataSource(Environment.getExternalStorageDirectory()+"/aa.mp4");//设置视频地址
player.setAudioStreamType(AudioManager.STREAM_MUSIC);//设置播放声音leix
player.setDisplay(mSurfaceView.getHolder());//设置视频播放位置
player.prepare();
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: