2016-03-24 12 views
0

Heute mache ich Anwendung, um Musik in Android zu spielen.MediaPlayer kann Audio nicht in Android wiedergeben

Ich habe es versäumt, MediaPlayer zu verwenden, um eine Audiodatei abzuspielen; Es kann keine Audiodatei abgespielt werden. Diese Ausnahme wirft Katze loggt sein wie:

E/Mediaplayer: Fehler (1, -2147483648)

W/System.err: java.io.IOException: Bereiten fehlgeschlagen .: status = 0x1

W/System.err: bei android.media.MediaPlayer.prepare (native Methode)

Dieser Code mehr Informationen anzeigen; Ausnahme tritt in Zeile:

mediaPlayer.prepare();

Diese Klasse diese Zeile enthält:

public void playAudio() { 
    Intent intent = getIntent(); 
    fileName = (TextView) findViewById(R.id.file); 
    playBtn = (ImageButton) findViewById(R.id.play); 
    String chooseFiles = intent.getStringExtra("fileName"); 

    try { 
     mediaPlayer = new android.media.MediaPlayer(); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     mediaPlayer.setDataSource(chooseFiles); 
     mediaPlayer.prepare(); 
    } 
    catch (IOException e) { 
     e.printStackTrace(); 
    } 
    fileName.setText(fName.substring(chooseFiles.lastIndexOf("/") + 1)); 
    mediaPlayer.start(); 
    timeElapsed = mediaPlayer.getCurrentPosition(); 
} 

Ich habe die Erlaubnis in AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

Wie dieses Problem beheben? Vielen Dank.

+0

einen Dateideskriptor wie diese passieren Wie funktioniert die String 'chooseFiles' aussieht? –

+0

'chooseFiles:"/storage/sdcard0/audio/2016-03-24 15.02.58.mp4' ist die Pfaddatei zum Abspielen von Audio. @RaduIonescu – Slug

Antwort

0

MediaPlayer können die Dateien nicht zugreifen, entweder weil sie es nicht finden können, in diesem Fall sollten Sie versuchen, "file://" auf Ihrem Weg, da Sie

file:///storage/sdcard0/audio/2016-03-24 15.02.58.mp4 

Oder wenn es ein Problem mit den Berechtigungen (am wahrscheinlichsten anzuhängen haben diese Fehler (1, -2147483648))

File file = new File(chooseFiles); 
FileInputStream inputStream = new FileInputStream(file); 
mediaPlayer.setDataSource(inputStream.getFD()); 
inputStream.close(); 
Verwandte Themen