Android アプリ (5.0 以降を対象) から .opus メディア ファイルを再生しようとしています。このファイルのソースは、デバイスの外部ストレージです。
MediaPlayer は "java.io.IOException: Prepare failed.: status=0x1" をスローし続けます。mp3やaacなどの他のファイルタイプを再生できることに注意してください
注: READ_EXTERNAL_STORAGE 権限は既に付与されています。
前もって感謝します。
Androidフラグメント内にある私のコードの一部の下:
public void playVoiceNote(VoiceNoteBO voiceNoteBO){
try{
Uri myUri = Uri.fromFile(new File(voiceNoteBO.getFileName())); //this resolves to the full path of the file.
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getActivity().getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
}catch(Exception e){
//TODO
e.printStackTrace();
}
}
そしてスタックトレース:
06-04 18:31:46.129 1134-27920/? E/GenericSource: データ ソースからの初期化に失敗しました! 06-04 18:31:46.129 27425-27443/? E/MediaPlayer: エラー (1、-2147483648) 06-04 18:31:46.129 27425-27425/? W/System.err: java.io.IOException: 準備に失敗しました: status=0x1 06-04 18:31:46.130 27425-27425/? W/System.err: android.media.MediaPlayer._prepare(ネイティブ メソッド) で 06-04 18:31:46.130 27425-27425/? W/System.err: android.media.MediaPlayer.prepare(MediaPlayer.java:1135) で 06-04 18:31:46.130 27425-27425/? W/System.err: com.frankyapps.privateread.prws.fragments.VoiceNotesFragment.playVoiceNote(VoiceNotesFragment.java:166) で 06-04 18:31:46.130 27425-27425/? W/System.err: com.frankyapps.privateread.prws.fragments.VoiceNotesFragment$1.onClick(VoiceNotesFragment.java:76) で 06-04 18:31:46.130 27425-27425/? W/System.err: com.frankyapps.privateread.prws.fragments.VoiceNotesFragment$RecyclerTouchListener.onInterceptTouchEvent(VoiceNotesFragment.java:217) で 06-04 18:31:46.130 27425-27425/? W/System.err: android.support.v7.widget.RecyclerView.dispatchOnItemTouch(RecyclerView.java:2261) で 06-04 18:31:46.130 27425-27425/? W/System.err: android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2389) で 06-04 18:31:46.130 27425-27425/? W/System.err: android.view.View.dispatchTouchEvent(View.java:8471) で