【发布时间】:2021-05-27 12:28:26
【问题描述】:
我一直在为我的应用程序使用 mediaController。
默认情况下,媒体控制器显示在屏幕底部。
有没有办法在屏幕中间显示媒体控制器?
【问题讨论】:
我一直在为我的应用程序使用 mediaController。
默认情况下,媒体控制器显示在屏幕底部。
有没有办法在屏幕中间显示媒体控制器?
【问题讨论】:
只有在视频大小已知的情况下才能放置媒体控制器。因此,您必须这样做:
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);
}
});
}
});
【讨论】:
终于搞定了..
mediaController.setAnchorView(findViewById(R.id.main_audio_view));
使用这个 sn-p 我们可以根据布局 id 或视图的 id 重新定位媒体控制器以放置在特定位置
【讨论】:
/*var mediaController:MediaController? = 空
videoView 是布局文件中对 VideoView 的引用。 */
videoView.setOnPreparedListener(OnPreparedListener { mp ->
mp.setOnVideoSizeChangedListener { mp, width, height ->
mediaController = MediaController(this@ActivityName)
videoView.setMediaController(mediaController)
mediaController?.setAnchorView(videoView)
}
})
`
【讨论】: