为什么 MediaPlayer 没有在视频可用时立即显示。我的意思是在 iPhone 上播放视频时,视频会立即显示。即使从暂停中返回。但在 Android 上,屏幕会保持黑屏几毫秒到一秒,具体取决于所使用的设备和后台运行的进程数量。
我问这个是因为我想使用我的视频播放中的一个开始帧作为一种屏幕截图,目前我正在使用处理程序在暂停视频之前等待 1 秒。
有人可以告诉我一种快速的方法来让视频在开始甚至准备好后立即显示出来,而不是我的解决方法吗?
编辑:这是我准备视频播放器的方法,因此应该正确准备。
private void initVideo()
{
Log.i("VideoPlayer", "Initialize Video File" + videoFileName);
AssetFileDescriptor afd;
try {
if(videoFileName != null);
{
afd = getAssets().openFd(videoFileName);
vidplayer = new MediaPlayer();
vidplayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getDeclaredLength());
vidplayer.setDisplay(holder);
vidplayer.prepare();
vidplayer.setOnCompletionListener(this);
vidplayer.setOnPreparedListener(this);
//Log.i("INITVIDEO", Integer.toString(videoPausedAt));
vidplayer.seekTo(videoPausedAt);
//Log.i("VideoPlayer", "video Prepared");
videoDuration = vidplayer.getDuration()/1000;
isVideoReady = true;
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e)
{
//Log.i("InitPlayer", e.getClass().toString());
e.printStackTrace();
}
}