v0.6.4a: music is now prepared synchronously
This commit is contained in:
parent
a8351e48fc
commit
f935092871
|
@ -31,7 +31,7 @@ import android.telephony.TelephonyManager;
|
||||||
|
|
||||||
import com.watabou.noosa.Game;
|
import com.watabou.noosa.Game;
|
||||||
|
|
||||||
public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener {
|
public enum Music {
|
||||||
|
|
||||||
INSTANCE;
|
INSTANCE;
|
||||||
|
|
||||||
|
@ -65,10 +65,11 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
||||||
MediaPlayer mp = new MediaPlayer();
|
MediaPlayer mp = new MediaPlayer();
|
||||||
mp.setAudioStreamType( AudioManager.STREAM_MUSIC );
|
mp.setAudioStreamType( AudioManager.STREAM_MUSIC );
|
||||||
mp.setDataSource( afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength() );
|
mp.setDataSource( afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength() );
|
||||||
mp.setOnPreparedListener( this );
|
mp.prepare();
|
||||||
mp.setOnErrorListener( this );
|
player = mp;
|
||||||
mp.prepareAsync();
|
player.start();
|
||||||
afd.close();
|
player.setLooping(looping);
|
||||||
|
player.setVolume(volume, volume);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
@ -82,21 +83,6 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
||||||
lastPlayed = null;
|
lastPlayed = null;
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPrepared( MediaPlayer mp ) {
|
|
||||||
player = mp;
|
|
||||||
player.start();
|
|
||||||
player.setLooping(looping);
|
|
||||||
player.setVolume(volume, volume);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onError( MediaPlayer mp, int what, int extra ) {
|
|
||||||
mp.release();
|
|
||||||
player = null;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void pause() {
|
public void pause() {
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user