4

これが videoView ではなく MediaPLayer で機能する理由を教えてください。そして、ビデオビューでそれを機能させる方法は?

動画は API からダウンロードされ、私が作成したこのフォルダーに保存されます。

File mediadir = cw.getDir("tvr", Context.MODE_PRIVATE);

ビデオビュー

final Uri uri = Uri.parse(path);
// path = /data/data/com.foo.app/tvr/video.mp4
videoView = (VideoView) findViewById(R.id.videoView);
videoView.setVisibility(View.VISIBLE);
videoView.setOnCompletionListener(this);
videoView.setVideoURI(Uri.parse(path));
videoView.start();

エラー VideoView申し訳ありませんが、このビデオはプレーヤーではなく、エラーです (1、-2...)

MediaPlayer --- これは動作します

FileInputStream fileInputStream = new FileInputStream(path);

 MediaPlayer pl = new MediaPlayer();
 pl.setDataSource(fileInputStream.getFD());
 pl.prepare();
 pl.start();
4

1 に答える 1

6

基本的な理由は、FD を渡さない限り、VideoView と MediaPlayer が非 World Readable ファイルを再生できないようにする MODE_PRIVATEです。

詳しい説明はこちら

于 2013-07-11T17:27:11.887 に答える