# Audio-Datei abspielen



## RezaScript (7. Dez 2020)

Hallo,

ich möchte gerne eine Audio-Datei schreiben und diese danach auch abspielen.

Damit schreibe ich die Datei:


```
// Save the audio
try (OutputStream out = new FileOutputStream(getFilesDir() + "/output.mp3")) {
    System.out.println(getFilesDir());
    out.write(audioContents.toByteArray());
    System.out.println("Audio content written to file \"output.mp3\"");
}
```

Das scheint gut zu funktionieren. Nun weiss ich aber nicht wie ich diese Datei abspielen kann. Kann mir jemand bitte weiterhelfen? Ich benutze Android Studio.


----------



## RezaScript (7. Dez 2020)

Ok, also ich hab herausgefunden, dass ich so eine Audio-Datei abspielen kann:


```
MediaPlayer mp = MediaPlayer.create(this, R.raw.mysound);
mp.start();
```

So, das Problem ist aber, dass sich die gespeicherte Datei nicht im Verzeichnis "raw" befindet. Der Pfad wo sich meine Datei befindet ist _getFilesDir() + "/output.mp3" _aber das kann ich so nicht im zweiten Parameter von create() eingeben. Entweder müsste ich den Pfad also korrekt eingeben oder die Datei soll in R.raw gespeichert werden. Bei beiden Optionen wüsste ich nicht wie. Kennt jemand eine Lösung?


----------



## kneitzel (7. Dez 2020)

Du kannst die create Methode doch auch mit einer Uri als zweiten Parameter aufrufen. https://developer.android.com/reference/android/media/MediaPlayer









						Simple mediaplayer play mp3 from file path?
					

I have a very simple mediaplayer that play background. It calls file from the apk, but I want it to play from any directory like as music or sdcard.  Here are my codes:  private MediaPlayer mpintro...




					stackoverflow.com


----------



## RezaScript (7. Dez 2020)

@kneitzel super, danke dir! Ich konnte es nun so lösen:


```
String myFile = getFilesDir() + "/output.mp3";
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(myFile);
mediaPlayer.prepare();
mediaPlayer.start();
```


----------

