2016-07-14 37 views
0

私はウリを持っているが特殊文字とMediaPlayerの

Uri sound = Uri.parse("file:///pathinmymobile/a?.mp3") 

状に形成されたが、理由は疑問符の、MediaPlayerの作成にsetDataSourceの問題をスローします。私も "file://"なしでテストしました。

URLEncoder.encode("file:///pathinmymobile/a?.mp3", "UTF-8"). 

と他の組み合わせがあります。特殊文字を含むファイルを疑問符として再生することは可能ですか?

+0

エスケープしようとすると? file:/// pathinmymobile/a \\?.mp3 – EagleEye

+0

「作成に失敗しました:java.io.IOException:setDataSource failed」と表示され、null参照を返します。 –

答えて

0

ファイルがAndroidアセットフォルダにある場合。これは助けるかもしれない

try { 
     MediaPlayer mediaPlayer = new MediaPlayer(); 
     AssetFileDescriptor descriptor = getAssets().openFd("intro.mp3"); 
     mediaPlayer.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength()); 
     descriptor.close(); 

     mediaPlayer.prepare(); 
     mediaPlayer.setVolume(1f, 1f); 
     mediaPlayer.setLooping(true); 
     mediaPlayer.start(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    }