2012-03-16 19 views
1

mp4ファイルを/data/data/mypackage/files/my.mp4に保存している間は、VideoViewのsetVideoPath();を呼び出します。それは動作しません。VideoViewはアプリケーションデータディレクトリのmp4ファイルを再生できます

同じファイルの場合、ファイルを/mnt/sdcard/my.mp4に保存してから、同じVideoViewのsetVideoPathを呼び出すと、正しく再生されます。

/data/data/mypackage/files /の下にmp4ファイルを再生する方法はありますか?

答えて

5

MPまたはVideoViewが非worldreadableファイルにアクセスすることはできませんネイティブのプレーヤーを使用しています。

だから、基本的には選択肢にあります

1)が作成したファイルを作成し、世界可読

2)へのファイルディスクリプタの上にプログラムでファイルとちょうど手への入力ストリームを開きます。メディアプレーヤー:

FileInputStream fi = new FileInputStream(file); 
MediaPlayer pl = new MediaPlayer(); 
pl.setDataSource(fi.getFD()); 
pl.prepare(); 
pl.start(); 

はまた、このスレッドVideoView/MediaPlayer doesn't play video from internal storageを見ても、このSO見hereからカスタムVideoViewクラスコードを見つけます質問Can a videoview play a video stored on internal storage?

+2

VideoViewでどうすればいいですか? –

関連する問題