相关疑难解决方法(0)

stopPlayback()之后的Android VideoView清除显示

我正在使用VideoView组件播放视频.手动调用stopPlayback()后,我似乎无法清除VideoView显示.我想重置VideoView,以便可以看到原始背景.

  1. 在VideoView组件中播放视频.
  2. 选择要播放的新视频.
  3. VideoView卡在第一个视频的最后一帧,直到下一个视频开始.如果下一个视频出现错误,则第一个视频中的静态图像仍然卡在那里.
  4. 如果我让视频播放到完成状态,则清除显示.

我正在使用的代码:

private VideoView videoViewer = null;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
  if (videoViewer != null) {
    videoViewer.setOnPreparedListener(new OnPreparedListener());
  }
...
}

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  if (videoViewer != null) {
    videoViewer.stopPlayback();
    videoViewer.setVideoURI(Uri.parse("http://my_vido_url/playlist.m3u8"));
  }
}

private class OnPreparedListener implements MediaPlayer.OnPreparedListener {
  @Override
  public void onPrepared(MediaPlayer mp) {
    videoViewer.start();
  }
}
Run Code Online (Sandbox Code Playgroud)

请注意,基于VideoView.java源,stopPlayback()在底层MediaPlayer上执行以下操作:

public void stopPlayback() {
  if (mMediaPlayer != null) {
    mMediaPlayer.stop();
    mMediaPlayer.release();
    mMediaPlayer = …
Run Code Online (Sandbox Code Playgroud)

android android-widget

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

android-widget ×1