如何在OnCreate方法上播放视频?我使用了以下代码。但是没有播放视频。如果我在按钮的Click事件上使用此代码,那么这是工作。
我的OnCreate方法: -
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView) findViewById(R.id.surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setFixedSize(176, 144);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
mediaPlayer.isLooping();
playvideo();
}
我的PlayVideo功能: -
public void playvideo() {
String stringPath = "/sdcard/video.mp4";
if (mediaPlayer.isPlaying()) {
mediaPlayer.reset();
}
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceHolder);
try {
mediaPlayer.setDataSource(stringPath);
mediaPlayer.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.start();
}
先谢谢。
答案 0 :(得分:2)
您无法从onCreate播放视频通话playvideo()。将您的代码放在:
中@Override
public void onWindowFocusChanged(boolean hasFocus)
{
if (hasFocus)
{
// play video call
}
}
只在onCreate中留下声明。
答案 1 :(得分:0)
您无法在onCreate中播放视频,因为要播放视频内容时需要使用曲面,并且在调用playVideo()时尚未创建Surface。
要使视频播放正常,您需要执行以下操作
词shash