MediaController doesn't work

前端 未结 3 548
小蘑菇
小蘑菇 2021-01-23 02:52

My layout that contains videoView

 

        
相关标签:
3条回答
  • 2021-01-23 03:19

    Try this :

    public static void playVideo(String urlPath) {
    
    VideoView mVideoview; // Added this line
    mVideoView =(VideoView) findViewByid(R.yourvideoviewid);
    
    try {
    // Start the MediaController
    MediaController mediacontroller = new MediaController(mContext);
    mediacontroller.setAnchorView(mVideoview);
    // Get the URL from String VideoURL
    Uri mVideo = Uri.parse(urlPath);
    mVideoview.setMediaController(mediacontroller);
    mVideoview.setVideoURI(mVideo);
    
    } catch (Exception e) {
    Log.e("Error", e.getMessage());
    e.printStackTrace();
    
    }
    
    mVideoview.requestFocus();
    mVideoview.setOnPreparedListener(new OnPreparedListener() {
    // Close the progress bar and play the video
    public void onPrepared(MediaPlayer mp) {
    mVideoview.start();
    
    }
    });
    
    mVideoview.setOnCompletionListener(new OnCompletionListener() {
    
    public void onCompletion(MediaPlayer mp) {
    
    }
    });
    }
    
    0 讨论(0)
  • 2021-01-23 03:20

    Add frame layout for anchor view in your xml

    <FrameLayout android:id="@+id/controllerAnchor"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            />
    

    and set this to your media controller

    mediacontroller.setAnchorView(findViewById(R.id.controllerAnchor);

    0 讨论(0)
  • 2021-01-23 03:21
    <VideoView
     android:id="@+id/videoView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" />
    

    Java

    // Get VideoView in layout xml
    VideoView mVideoView = (VideoView) findViewById(R.id.videoView);
    
    // MediaController provide controller, contains the buttons
    // like "Play/Pause", "Rewind", "Fast Forward" and a progress slide
    MediaController mediaController = new MediaController(this);
    
    mediaController.setAnchorView(mVideoView);
    mVideoView.setMediaController(mediaController);
    
    mVideoView.setVideoPath("/path/to/your/videofile");
    mVideoView.requestFocus();
    mVideoView.setOnPreparedListener(new OnPreparedListener() {
     public void onPrepared(MediaPlayer mp) {
      mVideoView.start();
     }
    });
    
    0 讨论(0)
提交回复
热议问题