2016-07-14 6 views
0

Ich habe ein Uri wieSonderzeichen und Mediaplayer

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

aber wegen der Fragezeichen, in Mediaplayer Schöpfung wirft ein setDataSource Problem. Ich habe auch ohne das „file: //“ getestet und mit

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

und andere mehr Kombinationen. Ist es möglich, eine Datei mit Sonderzeichen als Fragezeichen abzuspielen?

+0

versuchen, die zu entkommen? like file: /// pathinmymobile/a \\? .mp3 – EagleEye

+0

Zeigt immer noch ein "create failed: java.io.IOException: setDataSource ist fehlgeschlagen" und gibt eine Nullreferenz zurück. –

Antwort

0

Wenn sich Ihre Datei im Assets-Ordner von Android befindet. Dies könnte helfen

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(); 
    }