【问题标题】:Android Videoview not showing mp4Android Videoview 不显示 mp4
【发布时间】:2021-11-17 13:22:43
【问题描述】:

Videoview 只是在某些设备上播放黑屏。

例如: 在 Pixel 2 设备上流畅播放。但是三星SM-T395只有黑屏

如何让它在所有设备上兼容?

override fun onCreate(savedInstanceState: Bundle?) {
    ---
    videoView!!.setMediaController(null)
    videoView?.setOnCompletionListener {
        ...
    }
}

public override fun onResume() {
    super.onResume()

    val uri = Uri.parse("android.resource://" + packageName + "/" + R.raw.asd)
    videoView?.setVideoURI(uri)
    videoView?.setMediaController(mediaController)
    //mediaController?.setAnchorView(videoView)
    videoView?.requestFocus()
    videoView?.start()
}

XML:

<VideoView
    android:id="@+id/video_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

【问题讨论】:

    标签: android android-studio android-videoview android-video-player


    【解决方案1】:

    我遇到了同样的问题,并用上面接受的解决方案加上这个来解决它:

      @Override
      public void onPrepared(MediaPlayer mp) {
        mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
          @Override
          public boolean onInfo(MediaPlayer mp, int what, int extra) {
            Log.d(TAG, "onInfo, what = " + what);
            if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
              // video started; hide the placeholder.
              placeholder.setVisibility(View.GONE);
              return true;
            }
            return false;
          }
        });
    

    我认为 onPrepared 只是意味着视频已准备好播放,但并不意味着视频开始播放。如果在onPrepared中隐藏占位符,屏幕仍然显示黑屏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 2014-01-03
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      相关资源
      最近更新 更多