Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MediaController可见性_Java_Android_Android Videoview_Mediacontroller - Fatal编程技术网

Java MediaController可见性

Java MediaController可见性,java,android,android-videoview,mediacontroller,Java,Android,Android Videoview,Mediacontroller,我有一个Android应用程序,它使用VideoView来播放视频,我还使用一个媒体控制器 我的问题是,我无法阻止媒体控制器在视频播放时消失,我还希望在视频开始之前使媒体控制器可见,以便用户可以使用媒体控制器开始视频。我已尝试使用MediaController.show(0),但这并没有解决我的问题。这是我的密码: public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layo

我有一个Android应用程序,它使用VideoView来播放视频,我还使用一个媒体控制器

我的问题是,我无法阻止媒体控制器在视频播放时消失,我还希望在视频开始之前使媒体控制器可见,以便用户可以使用媒体控制器开始视频。我已尝试使用MediaController.show(0),但这并没有解决我的问题。这是我的密码:

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    mVideoView = (VideoView) findViewById(R.id.surface_view);

    mPlay = (ImageButton) findViewById(R.id.play);
    mPause = (ImageButton) findViewById(R.id.pause);
    mReset = (ImageButton) findViewById(R.id.reset);
    mStop = (ImageButton) findViewById(R.id.stop);
    MediaController mc = new MediaController(this);

    mVideoView.setMediaController(mc);

    mPlay.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            playVideo();
        }
    });

    mPause.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            if (mVideoView != null) {
                mVideoView.pause();
            }
        }
    });

    mReset.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            if (mVideoView != null) {
                mVideoView.seekTo(0);
            }
        }
    });

    mStop.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            if (mVideoView != null) {
                current = null;
                mVideoView.stopPlayback();
            }
        }
    });
}

private void playVideo() {
    try {
        final String path = "http://toop.voxelperfect.net/video6.mp4";

        System.out.println("path "+path);
        Log.v(TAG, "path: " + path);
        if (path == null || path.length() == 0) {
            Toast.makeText(SampleActivity.this, "File URL/path is empty",
            Toast.LENGTH_LONG).show();
        } else {
            System.out.println("else ");
            // If the path has not changed, just start the media player
            if (path.equals(current) && mVideoView != null) {
                System.out.println("mVideoView.start() ");

                mVideoView.start();
                mVideoView.requestFocus();
                return;
            }
            current = path;
            current = path;
            MediaController mc = new MediaController(this);
            mVideoView.setMediaController(mc);
            mVideoView.setVideoURI(Uri.parse(path)); 
            mVideoView.start();
            mVideoView.requestFocus();
            mc.show(0);
        }
    } catch (Exception e) {
        Log.e(TAG, "error: " + e.getMessage());
        if (mVideoView != null) {
            mVideoView.stopPlayback();
        }
    }
}

我通过创建一个实现MediaController并重写hide方法的嵌套类解决了问题

Android内置的
MediaController
widget也有问题。您可能需要考虑在布局本身中创建自己的控件集,并在单击控件时调用“代码> VIEVIEVIEW/CODE >上的方法。