Android的MediaPlayer使用方法:
private static MediaPlayer mp = null ;
public static void play(Context ctx, Uri uri){
if(mp != null){
mp.stop();
mp.release();
mp = null ;
}
mp = MediaPlayer.create(ActivityDemo.this, FilesUtil.getUri(strArray, indexOf, true));
mp.start() ;
}
其中這段代碼:
if(mp != null){
mp.stop();
mp.release();
mp = null ;
}
會防止發生如下錯誤,這些錯誤會打印在DDMS裏:
tag : Audiotrack
Message : AudioFlinger could not create track, status : -12
tag : AudioSink
Message : Unable to create audio track
tag : MediaPlayer
Message : error(-19, 0)
tag : AudioFlinger
Message : not enough memory for AudioTrack size=49216
也就是在播放之前先調用MediaPlayer對象的stop,release方法,然後在設置爲空。