gpt4 book ai didi

android - MediaController 在 VideoView 上的定位

转载 作者:IT老高 更新时间:2023-10-28 13:21:33 29 4
gpt4 key购买 nike

我有一个 VideoView,它以纵向占据 Activity 的上半部分,屏幕的下半部分显示一些图像和文本。 Activity 启动时,我正在视频 View 中播放 rtsp 视频流。我已通过以下代码将 MediaController 附加到 VideoView:

    MediaController controller = new MediaController(this);
controller.setAnchorView(this.videoView);
controller.setMediaPlayer(this.videoView);
this.videoView.setMediaController(controller);

当我点击 VideoView 以在屏幕上调出 MediaController 时,我预计播放控件会出现在 VideoView 的底部区域(MediaController 的底部甚至与 VideoView 的底部)。相反,MediaController 在屏幕下方弹出,覆盖了我在 VideoView 下方的一些图形和文本。

是否需要采取一些额外的步骤才能让 MediaController 出现在我希望它出现在屏幕上的位置?

最佳答案

只有在视频 View 大小已知的情况下才能设置 anchor View - 它不会在初始化时。但你可以这样做:

video.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
/*
* add media controller
*/
mc = new MediaController(YourActivity.this);
video.setMediaController(mc);
/*
* and set its position on screen
*/
mc.setAnchorView(video);
}
});
}
});

关于android - MediaController 在 VideoView 上的定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686729/

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