2011-09-19 4 views
2

内部ストレージからVideoViewにビデオファイルをロードしようとしています。私は、サーバーからこれらのビデオファイルをダウンロードしてから、このコードを使用してローカルに格納します。Honeycombでどのように内部ファイルを世界中で読めるようにしますか?

FileOutputStream out = openFileOutput(filename, Context.MODE_WORLD_READABLE); 

ここドキュメント:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal私はこれらのファイルは、世界読めるように作成されるだろうと信じて作られたが、私はそれがあるとは思いません本当。ここで

は私がViewViewにファイルをロードするために使用するコードです:私はロードするコードを変更した場合

ERROR/MediaPlayer(4264): error (1, -2147483648) 
ERROR/MediaPlayer(4264): Error (1,-2147483648) 
DEBUG/VideoView(4264): Error: 1,-2147483648 

videoView.setVideoPath(getFilesDir() +"/"+ filename); 

そして、ここでは、私はDDMSから得る出力され私の生のリソースディレクトリから同じビデオ、すべて正常に動作します。しかし、私はこれらのビデオをダウンロードしてローカルで再生できる必要があります。

私は唯一の外部データを使用するオプション、または内部データをVideoViewのようなものに公開する方法はありますか?あなたがVideoViewのインタフェースを好きではない場合は、常にMediaPlayerSurfaceViewを使用することができます

注:それは私が使用して終了1のようなコメントで

+0

外部ストレージを試しましたか?そうでない場合は、通常は内部ストレージが限られているためです。 –

+0

このアプリは、基本的にビデオや画像でいっぱいの大きなデータファイルを持っています。マーケット内の.apkファイルのサイズ制限のため、これらをアプリケーション自体に入れることはできません。私たちはこのデータを1回だけダウンロードしますが、私は内部ストレージがより永続的であると考えました。このアプリでハニカムのタブレットのみをターゲットにしています。 –

+1

getFilesDir()+ "/" + filenameが新しく作成されたファイルを実際に指していることを確認しましたか? – slayton

答えて

1

CommonsWareソリューションは、以下を繰り返します。または、簡単なContentProvideropenFile()を実装してFileDescriptorを返し、content:// UriをVideoViewで使用してください。 - CommonsWare

関連する問題