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

Android开发之播放视频

2016-03-14 15:43 375 查看
关于MediaPlayer类,请看官方API

,创建一个MediaPlayer对象,调用setDataSource()方法来设置,音频文件的路径,再调用prepare()方法使MediaPlayer进入到准备状态,接下来调用start(),来开始播放视频,pause()方法暂停播放,replay()方法来重新播放

activity_main.xml

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

<VideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="154dp" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="248dp" >

<Button
android:id="@+id/play"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Play"
/>
<Button
android:id="@+id/pause"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Pause"
/>
<Button
android:id="@+id/stop"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Replay"
/>
</LinearLayout>

</LinearLayout>


然后修改MainActivity.java代码

package com.example.playvideotest;

import java.io.File;

import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.VideoView;

public class MainActivity extends Activity implements OnClickListener{

private VideoView videoView;
private Button play;
private Button pause;
private Button replay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoView=(VideoView)findViewById(R.id.video_view);
play=(Button)findViewById(R.id.play);
pause=(Button)findViewById(R.id.pause);
replay=(Button)findViewById(R.id.stop);
play.setOnClickListener(this);
pause.setOnClickListener(this);
replay.setOnClickListener(this);
initvideoView(); //初始化 videoView
}

private void initvideoView()
{
try{
File file=new File(Environment.getExternalStorageDirectory(),"video.mp4");
videoView.setVideoPath(file.getPath());//指定音频文件的路径

}catch(Exception e){
e.printStackTrace();
}
}
public void onClick(View v){
switch(v.getId()){
case R.id.play:
if(!videoView.isPlaying()){
videoView.start(); //开始播放
}
break;
case R.id.pause:
if(videoView.isPlaying()){
videoView.pause(); //暂停播放
}
break;
case R.id.stop:
if(videoView.isPlaying()){
videoView.resume(); //停止播放
initvideoView();
}
break;
default:
break;
}
}
protected void onDestroy(){
super.onDestroy();
if(videoView!=null){
if(videoView!=null){
videoView.suspend();

}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

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