Android の VideoView を使用して、デバイスの sdcard フォルダーからビデオを再生しようとしています。以前は問題なく動作していたようですが、一部のコードをリファクタリングしたところ、動作しなくなったようです。以下にサンプルを示します。
// filepath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"
videoView = new VideoView(AkadiApplication.Instance().getApplicationContext());
videoView.setVideoURI(Uri.parse(filePath));
videoView.start();
videoView.requestFocus();
ファイルが存在することをアプリケーションで確認したので、FileNotFound の問題ではないことがわかりました。
また、onComplete コールバックを設定すると、ビデオが再生されたかのように呼び出されます (ビデオやサウンドはなく、ビューがあるはずの黒い四角だけです)。デバイスがアプリケーションの外部でビデオ コーデックを再生するため、ビデオ コーデックが有効であることはわかっています。許可の問題に関連している可能性があると思います: