package com.example.myvideo;
import java.io.File;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.MediaController;
import android.widget.MediaController.MediaPlayerControl;
import android.widget.VideoView;
public class MainActivity extends Activity implements MediaPlayerControl{
private VideoView videoView;//播放视频的一个控件
private MediaController controller;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
controller = new MediaController(this);
videoView = (VideoView) this.findViewById(R.id.videoView1);
videoView.setMediaController(controller);
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File file = Environment.getExternalStorageDirectory();//sdcard卡的根目录
File videoFile = new File(file,"c.3gp");
Uri uri = Uri.fromFile(videoFile);
videoView.setVideoURI(uri);
}
}
@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;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean canPause() {
// TODO Auto-generated method stub
return videoView.canPause();
}
@Override
public boolean canSeekBackward() {
// TODO Auto-generated method stub
return videoView.canSeekBackward();
}
@Override
public boolean canSeekForward() {
// TODO Auto-generated method stub
return videoView.canSeekForward();
}
@Override
public int getAudioSessionId() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getBufferPercentage() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getCurrentPosition() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getDuration() {
// TODO Auto-generated method stub
return videoView.getDuration();
}
@Override
public boolean isPlaying() {
// TODO Auto-generated method stub
return videoView.isPlaying();
}
@Override
public void pause() {
// TODO Auto-generated method stub
if (videoView.isPlaying()) {
videoView.pause();
}
}
@Override
public void seekTo(int arg0) {
// TODO Auto-generated method stub
videoView.seekTo(arg0);
}
@Override
public void start() {
// TODO Auto-generated method stub
videoView.start();
}
}
本人用3gp和mp4均做过测试
希望哪位大牛指点迷津
在此谢过了
你那个视频文件的分辨率是多少的,然后测试时用的手机分辨率是多少,可能是视频的分辨率大于手机分辨率的问题,说错请见谅!如果只有声音,没画面,可能就是其它问题了,比如布局问题。
先确定用什么设备测的再考虑路径是否正确