下記のコードで、ファイル名を「sample.mp3」から「サンプル.mp3」にすると「open failed: ENOENT (No such file or directory)」のエラーが出てしまいます。
同じフォルダに「sample.mp3」と「サンプル.mp3」のファイルを入れており、「sample.mp3」は再生されるので、日本語のファイル名が原因かと思いますが、調べても解決できません。
MediaPlayer player = new MediaPlayer();
FileInputStream fis = null;
try {
// 再生ファイルをセット
fis = new FileInputStream(new File(Environment.getExternalStorageDirectory().getPath() + "/Music/" + "sample.mp3"));
FileDescriptor fd = fis.getFD();
player.setDataSource(fd);
player.prepare(); // 再生準備
player.start(); // 再生開始
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
また、音声ファイルは「Music」フォルダに入っているとは限らないので、どのストレージでもファイル名だけで再生する方法はないのでしょうか?
よろしくお願いいたhします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/08 10:51