最近、私が開発したオーディオプレイヤーが再生を停止したことに気付きました。MediaPlayerは、パスでファイルを再生するのに問題がありますか?
"Prepare failed.: status=0x1"
ファイル名含まれている#記号:
それはMediaPlayer.prepare()
が例外をスローしたことが判明しました。私は#を削除した後、それを再生することができました。 #シンボルを削除しました。ファイルパス自体は長かったとスペースが含まれている、[など
final Uri uri = Uri.parse("/storage/sdcard1/audio/Die Toten Hosen/03 - Boxed Set/2007 - Die DTH Jubiläumsedition [17 CD Boxed Set Remasted]/CD 1 - Opel-Gang/18. Radio Argentina #1.mp3");
mediaPlayer.reset();
mediaPlayer.setDataSource(context, uri);
私は
adb push /tmp/ /storage/sdcard1/audio/
で自分の携帯電話にファイルを転送し、それらのいくつかが含まれている場合、なぜ質問はありますか?シンボルをスキップすると、スキップされます(またはエラー/警告が発生します。正確に覚えていない)が、名前に#が付いたファイルは正常にコピーされた。いくつかのエスケープルールがある場合、問題はファイルを含むファイルと同じにする必要がありますか? #を含むファイル
私は何が起こったかの論理を見ないので。エスケープすべきものとその方法を定義する中心的な場所はないようです。
いいえ、役に立たないです。同じエラーです。 – ka3ak