android videoview播放不了视频

android videoview播放不了视频

结果显示不能播放。

img

代码就这几行

public void display(View view) {
        VideoView videoView=findViewById(R.id.videoView);
        videoView.setVideoPath("android.resource://"+getPackageName()+"/"+R.raw.yanhua);
        videoView.start();
    }

运行的提示:
D/OpenGLRenderer: Enabling debug mode 0
D/EGL_emulation: eglMakeCurrent: 0xa40240a0: ver 2 0 (tinfo 0xa40160c0)
D/MediaPlayer: getMetadata
E/MediaPlayer: error (1, -38)
E/MediaPlayer: error (1, -38)
E/MediaPlayer: Error (1,-38)
D/VideoView: Error: 1,-38
D/EGL_emulation: eglMakeCurrent: 0xa40240a0: ver 2 0 (tinfo 0xa40160c0)
D/EGL_emulation: eglMakeCurrent: 0xa40240a0: ver 2 0 (tinfo 0xa40160c0)

该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据您提供的信息,错误代码1,-38通常表示Media player encountered an error。这可能是由于以下原因之一引起的:

  1. 视频文件不存在或路径不正确
  2. 视频文件损坏或格式不受支持
  3. Android设备不支持播放视频文件格式

请尝试以下解决方案:

  1. 确认视频文件存在于正确的位置。在代码中设置的路径是否正确。
  2. 确认视频文件是否正常。如果不正常,尝试重新下载或转换视频文件。
  3. 确认您的Android设备支持所需的视频文件格式。可以尝试使用不同的视频文件或在其他设备上测试相同的视频文件。
    另外,也可以在代码中添加一个OnPreparedListener来检测视频是否准备好播放。例如:
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// 视频准备好播放
videoView.start();
}
});


这可以确保视频已经准备好播放。

可以尝试监听videoView的setOnPreparedListener状态 拿到回调之后再调用start