@@ -36,6 +36,7 @@ class Cocos2dxAudioFocusManager {
36
36
private final static int AUDIOFOCUS_LOST = 1 ;
37
37
private final static int AUDIOFOCUS_LOST_TRANSIENT = 2 ;
38
38
private final static int AUDIOFOCUS_LOST_TRANSIENT_CAN_DUCK = 3 ;
39
+ public static boolean gainAudioFocus = true ;
39
40
40
41
private static AudioManager .OnAudioFocusChangeListener sAfChangeListener =
41
42
new AudioManager .OnAudioFocusChangeListener () {
@@ -91,18 +92,20 @@ public void run() {
91
92
};
92
93
93
94
static boolean registerAudioFocusListener (Context context ) {
94
- AudioManager am = (AudioManager ) context .getSystemService (Context .AUDIO_SERVICE );
95
+ if (gainAudioFocus ) {
96
+ AudioManager am = (AudioManager ) context .getSystemService (Context .AUDIO_SERVICE );
95
97
96
- // Request audio focus for playback
97
- int result = am .requestAudioFocus (sAfChangeListener ,
98
+ // Request audio focus for playback
99
+ int result = am .requestAudioFocus (sAfChangeListener ,
98
100
// Use the music stream.
99
101
AudioManager .STREAM_MUSIC ,
100
102
// Request permanent focus.
101
103
AudioManager .AUDIOFOCUS_GAIN );
102
104
103
- if (result == AudioManager .AUDIOFOCUS_REQUEST_GRANTED ) {
104
- Log .d (TAG , "requestAudioFocus succeed" );
105
- return true ;
105
+ if (result == AudioManager .AUDIOFOCUS_REQUEST_GRANTED ) {
106
+ Log .d (TAG , "requestAudioFocus succeed" );
107
+ return true ;
108
+ }
106
109
}
107
110
108
111
Log .e (TAG , "requestAudioFocus failed!" );
0 commit comments