16

我一直在为我的应用程序使用 mediaController。

默认情况下,媒体控制器显示在屏幕底部。

有没有办法在屏幕中间显示媒体控制器?

4

3 回答 3

18

仅当视频大小已知时,放置媒体控制器才有效。因此,您必须这样做:

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);
                                    }
                                    });
                            }
          });
于 2012-09-07T11:31:18.047 回答
0

我终于明白了。。

   mediaController.setAnchorView(findViewById(R.id.main_audio_view));

使用此代码段,我们可以根据布局 id 或视图的 id 重新定位媒体控制器以放置在特定位置

于 2011-06-01T07:23:38.537 回答
-1

/*var 媒体控制器:媒体控制器?=空

videoView 是对布局文件中的 VideoView 的引用。*/

videoView.setOnPreparedListener(OnPreparedListener { mp ->
            mp.setOnVideoSizeChangedListener { mp, width, height -> 
                   
                 mediaController = MediaController(this@ActivityName)

                videoView.setMediaController(mediaController)
    
               mediaController?.setAnchorView(videoView)
 
            }
        })
`
于 2021-05-27T04:28:26.303 回答