2

我使用此代码来获取 AudioFocus,它适用于
Android 音乐应用程序(预装的那个)

int result = audioManager.requestAudioFocus(meService, AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);    

但是,当我使用此代码发布它时

audioManager.abandonAudioFocus(meService);

Android 音乐应用程序(预装的)无法继续播放。

如果我使用AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK它可以工作
,但 Android 音乐应用程序没有足够低的音量。

任何想法为什么 Android 音乐应用程序不恢复播放?

我正在使用 api8 并使用onAudioFocusChange

4

3 回答 3

0

你应该释放它MediaPlay.onCompleteListener(){}

于 2012-08-15T07:01:45.750 回答
0

在尝试了 4 名球员后,他们都没有回避。我可能做错了什么,我想看看。我回答我自己的问题,我们必须忍受这个。

于 2013-10-14T18:23:50.250 回答
0

这种方式对我来说很好。

public class HomeActivity extends Activity implements AudioManager.OnAudioFocusChangeListener {


 // Other stuff

    @Override
    public void onAudioFocusChange(int focusChange) {
        if (focusChange == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
            Log.i("HomeActivity", "Audio focus granted.");
        }else if (focusChange == AudioManager.AUDIOFOCUS_REQUEST_FAILED) {
            Log.i("HomeActivity", "Audio focus failed.");
        }
    }
}

请求音频焦点

private void requestAudioFocus(){
        AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
        // Request audio focus for playback
        am.requestAudioFocus(this,
                // Use the music stream.
                AudioManager.STREAM_MUSIC,
                // Request permanent focus.
                AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
}

放弃 AudioFocus

private void abandonAudioFocus(){
        AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
        am.abandonAudioFocus(this);
}

Hope this would help you.

于 2016-05-14T05:50:48.400 回答