【问题标题】:MediaController appears only after tapping in AndroidMediaController 只有在 Android 中点击后才会出现
【发布时间】:2010-10-16 00:22:40
【问题描述】:

我正在编写一个 Android 应用程序,我正在使用 VideoView 播放视频,但 mediaController 仅在点击屏幕后出现。这是正确的程序吗?如果不是,我们如何在不点击屏幕的情况下让它出现。

提前致谢,

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以使用 show() 方法显示它,但不能使用包含 VideoView 的活动的 OnCreate 方法显示它,因为 VideoView 尚未附加到 SurfaceHolder(或类似的东西)。您将使用类似的程序:

    public class ActivityPreHomeVideo extends Activity implements SurfaceHolder.Callback{
    
        private VideoView mVideoView;
        private MediaController mMediaController;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.videolayout);
            mVideoView = (VideoView) findViewById(R.id.videolayout_video);
    
            mMediaController = new MediaController(this);
            mMediaController.setMediaPlayer(mVideoView);
            mMediaController.setAnchorView(mVideoView);
            mVideoView.setMediaController(mMediaController);
    
            //Set a callback when the VideoView is displayed
            mVideoView.getHolder().addCallback(this);
    
            mVideoView.setVideoPath("http://.../your_video.mp4");
        }
    
        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
        }
    
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            // Display the mediaController for 3 seconds
            mMediaController.show();
        }
    
        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
        }
    }
    

    希望它会有所帮助。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多