VideoView で MediaController を使用して、アセット フォルダーからビデオを再生できません。多くのスタック オーバーフローの回答を調べましたが、どれも機能しません。Rawフォルダーまたは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 カード フォルダーに対して機能しますが、アセットでは機能しません。どんな助けでも大歓迎です.Thanks.