質問編集履歴

1 タイトルの誤字を修正

yonnami

yonnami score 12

2016/10/08 16:48  投稿

【android】MediaPlayerでストレージから日本語の音声ファイルが込めない
【android】MediaPlayerでストレージから日本語の音声ファイルが再生できない
下記のコードで、ファイル名を「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します。
  • Android

    8231 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Android Studio

    4993 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る