音频焦点处理
发布日期:2021-06-30 18:39:54 浏览次数:4 分类:技术文章

本文共 1923 字,大约阅读时间需要 6 分钟。

场景:听音乐,来了电话,此时音乐停止,挂断电话,音乐继续。

1,在service的oncreate方法中加入以下代码:

// 创建audioMangerAudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);int result = audioManager.requestAudioFocus(this,        AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

2,让service实现OnAudioFocusChangeListener接口后,实现onAudioFocusChange方法,实现代码如下:

/** ---------------音频焦点处理相关的方法--------------- **/@Overridepublic void onAudioFocusChange(int focusChange) {    switch (focusChange) {    case AudioManager.AUDIOFOCUS_GAIN:// 你已经得到了音频焦点。        System.out.println("-------------AUDIOFOCUS_GAIN---------------");        // resume playback        mMediaPlayer.start();        mMediaPlayer.setVolume(1.0f, 1.0f);        break;    case AudioManager.AUDIOFOCUS_LOSS:// 你已经失去了音频焦点很长时间了。你必须停止所有的音频播放        System.out.println("-------------AUDIOFOCUS_LOSS---------------");        // Lost focus for an unbounded amount of time: stop playback and        // release media player        if (mMediaPlayer.isPlaying())            mMediaPlayer.stop();        mMediaPlayer.release();        mMediaPlayer = null;        break;    case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:// 你暂时失去了音频焦点        System.out                .println("-------------AUDIOFOCUS_LOSS_TRANSIENT---------------");        // Lost focus for a short time, but we have to stop        // playback. We don't release the media player because playback        // is likely to resume        if (mMediaPlayer.isPlaying())            mMediaPlayer.pause();        break;    case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:// 你暂时失去了音频焦点,但你可以小声地继续播放音频(低音量)而不是完全扼杀音频。        System.out                .println("-------------AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK---------------");        // Lost focus for a short time, but it's ok to keep playing        // at an attenuated level        if (mMediaPlayer.isPlaying())            mMediaPlayer.setVolume(0.1f, 0.1f);        break;    }}

转载地址:https://linqiarui.blog.csdn.net/article/details/51320967 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java接口可以多继承
下一篇:常规通知(Notification)模板

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月24日 00时41分16秒