//视频播放的3中方式
package com.example.videoview;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;
public class MainActivity extends Activity {
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//视频播放:方法三,就是先设置一个框架,点击播放后一切先准备好,才播放
//通过MediaPlayer和SufaceView向结合播放,没有进度条和按钮,想要这些功能必须自己添加
SurfaceView surface=(SurfaceView) findViewById(R.id.surface);
mp=new MediaPlayer();
//得到主持者
SurfaceHolder holder = surface.getHolder();
//由控制者添加要播放的视频
holder.addCallback(new Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
//销毁时,停止
mp.stop();
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
//当开始时,视频显示到holer
mp.setDisplay(holder);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
});
//播放
TextView play=(TextView) findViewById(R.id.play);
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//视频播放:方法一
// init1();
//视频播放:方法一
// init2();
//视频播放:方法一
init3();
}
});
}
public void init1() {
//模拟器自带播放
Intent intent=new Intent(Intent.ACTION_VIEW);
//得到uri路径
Uri uri=Uri.parse("/mnt/sdcard/wm.mp4");
//设置资源路径和播放类型
intent.setDataAndType(uri, "video/*");
startActivity(intent);
}
/*public void init2() {
//VideoView播放
VideoView video=(VideoView) findViewById(R.id.video);
//给videoview设置路径
video.setVideoPath("/mnt/sdcard/wm.mp4");
//创建播放控制
MediaController m=new MediaController(this);
//给videoview设置控制
video.setMediaController(m);
m.setAnchorView(video);//控制设置播放的view文件,可以没有
video.start();
}*/
public void init3(){
try {
mp.setDataSource("/mnt/shell/emulated/wm.mp4");//这个是手机路径
mp.prepare();
mp.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//布局