我正在实现一个带有广告的视频播放器。最终,在广告播放恢复后,播放暂停并显示一些广告。
为了实现这一点,我用一个 VideoView 和另一个 View 完成了 FrameLayout 来显示广告。
当广告中断时,我会:
videoView.pause();
videoView.setVisibility(View.GONE);
adsView.setVisibility(View.VISIBLE):
//Play ads for X time
adsView.setVisibility(View.GONE);
videoView.setVisibility(View.VISIBLE);
videoView.play();
它相当简单,在我尝试过的所有设备上都可以正常工作,除了 Nexus 7。在 Nexus 7 上,当恢复播放时,视频会变小并且不会填满整个屏幕。它只使用大约 1/4 的屏幕。
经过数小时的调查后,我意识到只有在更改 VideoView 的可见性时才会发生这种情况。如果我评论以下行//videoView.setVisibility(View.GONE);
,问题就会消失,但我看不到广告。
一些可能相关的日志:
NvOsDebugPrintf BeginSequence 640x368
NvOsDebugPrintf pnvsi->nDecodeBuffers = 9
NvOsDebugPrintf Display Resolution : (640x360)
NvOsDebugPrintf Display Aspect Ratio : (128x360)
显示纵横比 (128x360) 应与显示分辨率 (640x360) 相同,但事实并非如此。
任何的想法?谢谢