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で私のアプリのスクリーンショットです: 私は、このログを参照してください。
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を作成しました(私は思っています)。何か間違っていることはできませんか?
は、そのすべてを取り除くと使用オーディオfile.Sourceのために同じである[ '作成のバージョン( ) ')(https://developer.android.com/reference/android/media/MediaPlayer.html#create(android.content.Context、%20int))を使用します。 – CommonsWare
私は実行時にそのファイルがユーザーを選択することを知っているので、私はそのファイルをdinamically抽出する必要があります。 – Genaut
'setDataSource()'は 'android.resource'スキームを受け入れていないようですので、あなたは選択肢があまりないと思います。 – CommonsWare