2017-02-06 12 views
0

私はこの問題の解決策について読んでいました。私はこのコードを持っているAndroidは、生のフォルダからファイルからUriを取得します。

String filename = "android.resource://" + this.getPackageName() + "/raw/" + lastButtonFilename; 
try { 
    Log.i("Home", "Recreamos la URL: " + filename); 
    mediaPlayer.setDataSource(this, Uri.parse(filename)); 
} catch (Exception e) { 
    Log.e("Home", "Error setting source media." + e.getMessage(), e); 
} 

これは、Android Studioで私のアプリのスクリーンショットです: enter image description here 私は、このログを参照してください。

02-06 17:49:28.605 28884-28884/com.mypackage I/Home: Recreamos la URL: android.resource://com.mypackage/raw/sound_test.mp3 
02-06 17:49:28.614 28884-28884/com.mypackage W/MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No resource found for: android.resource://com.mypackage/raw/sound_test.mp3 

を私は私ののsrc /解像度でsound_test.mp3 /生を持っていますフォルダー。 Im Androidスタジオを使用しています。正しいパスからURIを作成しました(私は思っています)。何か間違っていることはできませんか?

+0

は、そのすべてを取り除くと使用オーディオfile.Sourceのために同じである[ '作成のバージョン( ) ')(https://developer.android.com/reference/android/media/MediaPlayer.html#create(android.content.Context、%20int))を使用します。 – CommonsWare

+0

私は実行時にそのファイルがユーザーを選択することを知っているので、私はそのファイルをdinamically抽出する必要があります。 – Genaut

+0

'setDataSource()'は 'android.resource'スキームを受け入れていないようですので、あなたは選択肢があまりないと思います。 – CommonsWare

答えて

0
...

String videoUri = "android.resource://" + getPackageName() + "/" + R.raw.sound_test; 

をあなたのコードを変更し

このチュートリアルでは、ビデオファイルが、プロセスを持ってClick here for more description

関連する問題