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