源码:https://github.com/heinika/MyVideo
1,VideoView
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_video_play:
videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/Movies/haha.mp4");
videoView.setMediaController(new MediaController(MainActivity.this));
videoView.start();
break;
default:
break;
}
2,SurfaceView
case R.id.button_play:
if(mMediaPlayer==null) {
mMediaPlayer = new MediaPlayer();
}
mMediaPlayer.reset();
try {
mMediaPlayer.setDataSource(Environment.getExternalStorageDirectory()+"/Movies/haha.mp4");
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDisplay(mSurfaceView.getHolder());
mMediaPlayer.prepare();
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
} catch (IOException e) {
e.printStackTrace();
}
3,Camera
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
@ViewInject(R.id.button_photo)
private Button mButtonPhoto;
@ViewInject(R.id.imageview)
private ImageView mImageView;
private File file;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewUtils.inject(this);
}
@OnClick(R.id.button_photo)
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_photo:
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
file = new File(Environment.getExternalStorageDirectory()+"/Movies/"+System.currentTimeMillis()+".jpg");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(intent,0X23);
break;
default:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0x23){
if(resultCode==RESULT_OK){
mImageView.setImageURI(Uri.fromFile(file));
}
}
}
}