我无法使用 VideoView 中的 MediaController 播放资产文件夹中的视频。我查看了许多堆栈溢出答案,但没有一个有效。当我使用原始文件夹或 SD 卡文件夹路径时,它可以完美运行。
下面是我的代码:
private void getVideoFromAssets() {
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(
VideoViewActivity.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
Uri video = Uri.parse("file:///android_asset/test.mp4");
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
videoview.requestFocus();
videoview.setOnPreparedListener(new OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp) {
videoview.start();
}
});
}
相同的代码适用于 raw 和 sd 卡文件夹,同时更改各自的路径。但它不适用于资产。任何帮助将不胜感激。谢谢。