gpt4 book ai didi

Android VideoView 黑屏

转载 作者:IT王子 更新时间:2023-10-28 23:44:05 26 4
gpt4 key购买 nike

在运行 start() 方法之前,我一直在寻找一种方法来消除 VideoView 上令人讨厌的黑色初始屏幕。

我已尝试在小部件上使用背景图像,但它根本无法按预期工作。我还尝试将视频中第一帧的图像放在 VideoView 的顶部,并将其隐藏在 start() 方法之后。添加一个 onPrepared 监听器来启动视频,然后隐藏图像。这行得通,但在过渡中有可怕的闪烁,我不知道如何摆脱它。


添加 MediaController 完全没有效果。问题仍然存在(我仍然看到黑色闪烁),我根本不想让视频控件可见。我的代码如下所示:

    VideoView vSurface= (VideoView) findViewById(R.id.surfaceView1);
vSurface.setVideoURI(Uri.parse("android.resource://com.mypackage/" + R.raw.video1));
vSurface.setVisibility(View.VISIBLE);
vSurface.setOnPreparedListener(this);
vSurface.setDrawingCacheEnabled(true);
vSurface.setOnErrorListener(this);

最佳答案

我遇到了同样的问题,并用上面接受的解决方案加上这个来解决:

  @Override
public void onPrepared(MediaPlayer mp) {
mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
Log.d(TAG, "onInfo, what = " + what);
if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
// video started; hide the placeholder.
placeholder.setVisibility(View.GONE);
return true;
}
return false;
}
});

我认为 onPrepared 仅表示视频已准备好播放,但并不表示视频开始播放。如果在onPrepared中隐藏占位符,屏幕仍然显示黑屏。

在我的 Note3 和 Nexus 上,这个解决方案效果很好。

关于Android VideoView 黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9765629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com