wake-up-neo.com

Wie spielt man eine Audiodatei in android

Ich habe eine MP3-Datei in meinem Android Handy, lass es eine xyz.mp3 irgendwo auf meiner SD-Karte sein. Wie kann ich sie über meine Anwendung abspielen?

47
dIvYaNsH sInGh

Sie können einfach MediaPlayer verwenden und die Audiodatei abspielen. Check out dieses nette Beispiel zum Abspielen von Audio:

 public void audioPlayer(String path, String fileName){
    //set up MediaPlayer    
    MediaPlayer mp = new MediaPlayer();

    try {
        mp.setDataSource(path + File.separator + fileName);
        mp.prepare();
        mp.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
95
Lalit Poptani

@Niranjan, Wenn Sie eine Rohdatei aus dem Ordner res/raw verwenden, dh eine im Projekt gespeicherte Datei lesen, können Sie Folgendes verwenden:

mediaplayer.setDataSource(context, Uri.parse("Android.resource://urpackagename/res/raw/urmp3name");

Wenn Sie von SD-Karte verwenden müssen:

 MediaPlayer mediaPlayer = new MediaPlayer();
 File path = Android.os.Environment.getExternalStorageDirectory();
 mediaPlayer.setDataSource(path + "urmp3filename");

Siehe diese verwandte Frage: MediaPlayer Problem zwischen Raw-Ordner und SD-Karte auf Android

8
Suv
    public class MainActivity extends Activity implements OnClickListener {
    Button play;
    MediaPlayer mp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setVolumeControlStream(AudioManager.STREAM_MUSIC);
        play=(Button)findViewById(R.id.button1);
        play.setOnClickListener(this);

    }
    @Override
    public void onClick(View arg0)
    {
        mp=MediaPlayer.create(getApplicationContext(),R.raw.song);// the song is a filename which i have pasted inside a folder **raw** created under the **res** folder.//
        mp.start();


    }

    @Override
    protected void onDestroy() {
        mp.release();
        super.onDestroy();
    }

}
2
Naren

Wenn sich das Audio in der lokalen Raw-Ressource befindet:

MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start(); // no need to call prepare(); create() does that for you

So spielen Sie von einem lokal im System verfügbaren URI aus:

Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
0
A-Sharabiani