音频焦点处理
发布日期: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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月24日 00时41分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
计算机视觉中的cost-volume的概念具体指什么(代价体积)
2019-04-30
启发函数heuristic 与 A*
2019-04-30
Image Pyramid(图像金字塔)
2019-04-30
Oracle 作业记录
2019-04-30
putty连接AWS配置(multimedia project)
2019-04-30
Hourglass Network 沙漏网络 (pose estimation姿态估计)
2019-04-30
OpenCV实战(二)——答题卡识别判卷
2019-04-30
目标检测神经网络的发展历程(52 个目标检测模型)
2019-04-30
Boundary loss 损失函数
2019-04-30
tensorflow使用tensorboard进行可视化
2019-04-30
凸优化 convex optimization
2019-04-30
数据库索引 & 为什么要对数据库建立索引 / 数据库建立索引为什么会加快查询速度
2019-04-30
IEEE与APA引用格式
2019-04-30
research gap
2019-04-30
pytorch训练cifar10数据集查看各个种类图片的准确率
2019-04-30
Python鼠标点击图片,获取点击点的像素坐标
2019-04-30