Używam tej klasy do odtwarzania dźwięku. Jeśli lokalizacja dźwięku to surowy folder.
metoda Zaproszenie do zaawansowania:
new AudioPlayer().play(mContext, getResources().getIdentifier(alphabetItemList.get(mPosition)
.getDetail().get(0).getAudio(),"raw", getPackageName()));
klasa AudioPlayer.java:
public class AudioPlayer {
private MediaPlayer mMediaPlayer;
public void stop() {
if (mMediaPlayer != null) {
mMediaPlayer.release();
mMediaPlayer = null;
}
}
// mothod for raw folder (R.raw.fileName)
public void play(Context context, int rid){
stop();
mMediaPlayer = MediaPlayer.create(context, rid);
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
stop();
}
});
mMediaPlayer.start();
}
// mothod for other folder
public void play(Context context, String name) {
stop();
//mMediaPlayer = MediaPlayer.create(c, rid);
mMediaPlayer = MediaPlayer.create(context, Uri.parse("android.resource://"+ context.getPackageName()+"/your_file/"+name+".mp3"));
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
stop();
}
});
mMediaPlayer.start();
}
}
@Johnsimit wykorzystanie Domyślnie Exception. –
Działa to tak: 'mpintro = MediaPlayer.create (this, Uri.parse (Environment.getExternalStorageDirectory(). GetPath() +" /Music/intro.mp3 ")); mpintro.setLooping (true); mpintro.start(); ' To nie działało poprawnie jako ciąg plików ... –
@Johnsimit Mam wdrożone moje wszystkie pliki mp3 wewnątrz http: //localhost/Android/music/vande.mp3 użyłem jak hw. powiedział Uri.parse (Environment.getExternalStorageDirectory(). getPath() + "//localhost/Android/Music/vande.mp3")); mpintro.setLooping (true); mpintro.start(); 'ale nie działa –