web-dev-qa-db-fra.com

comment lire un fichier audio dans android

J'ai un fichier mp3 dans mon Android mobile, laisse c'est un xyz.mp3 quelque part dans ma carte SD. Comment le lire via mon application?

47
dIvYaNsH sInGh

Vous pouvez simplement utiliser MediaPlayer et lire le fichier audio. Découvrez cet bel exemple pour la lecture 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, Si vous utilisez un fichier brut depuis le dossier res/raw, c'est-à-dire en lisant un fichier stocké dans le projet, nous pouvons utiliser:

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

Si vous devez utiliser depuis une carte SD:

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

Voir cette question connexe: problème MediaPlayer entre le dossier brut et la carte SD sur 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

Si l'audio se trouve dans la ressource brute locale:

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

Pour jouer à partir d'un URI disponible localement dans le système:

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