在Activity不可见时暂停WebView的语音播放,可见时继续播放之前的语音
private AudioManager mAudioManager;
private AudioManager.OnAudioFocusChangeListener mFocusChangeListener;
@Override
protected void onPause() {
super.onPause();
stopPlayVoice();
}
@Override
protected void onResume() {
super.onResume();
startPlayVoice();
}
public void stopPlayVoice() {
if (mAudioManager == null) {
mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
mFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
}
};
}
for (int i = 0; i < 10; i++) { //尝试10次请求AudioFocus,一般一两次可以请求到,一旦请求到,语音将暂停播放
if (mAudioManager.requestAudioFocus(mFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT) == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
break;
}
SystemClock.sleep(100);
}
}
private void startPlayVoice() {
if (mAudioManager != null) {
mAudioManager.abandonAudioFocus(mFocusChangeListener);//放弃并还回拿到的AudioFocus,语音将继续播放
}
}
转载于:https://www.cnblogs.com/yongfengnice/p/8399406.html
在Activity不可见时暂停WebView的语音播放,可见时继续播放之前的语音相关推荐
- 解决 后台播放音乐时,设置手机铃声,后台音乐不会暂停
2019独角兽企业重金招聘Python工程师标准>>> 手机后台播放音乐时,设置手机铃声,后台音乐不会暂停,此现象的为设置手机铃声界面,并没要加入播放的foucs机制, 此修改在pa ...
- android webview加载闪屏,Android Webview:加载url时出现闪屏
我是Android应用程序中的新手,这是我的第一个应用程序. 我已经创建了启动画面和工程..但其后走了一个长长的白色空白屏幕约2-5秒,然后URL开始加载..Android Webview:加载url ...
- android动态设置错误页面,Android中替换WebView加载网页失败时的页面
我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...
- android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题...
============问题描述============ 大家好,我最近遇到个问题: 大家都知道,播放器中的播放/暂停键是这样的逻辑:当用户点击了这个键,如果当前显示的是"播放&quo ...
- android web canvas,HTML5 - Canvas无法在Android WebView的第一次加载时渲染
我正在开发基于HTML5画布的游戏,该游戏在现有应用程序的WebView中运行.在第一次运行游戏时,它会在后台成功加载,所有日志都表明它已准备就绪并正在运行.但是,WebView中不显示任何内容.如果 ...
- android poi webview,java-Android(4.4)WebView第二次加载时不显示ifra...
我正在尝试从本地存储在webview页面中显示,第一次加载页面时看起来还可以,但是当我删除webview并再次添加它时,它看起来像在图片上(对于4.4,在以前的android版本中只是黑屏): web ...
- android 4.2 webview,java-Android(4.4)WebView第二次加载时不显示ifra...
我正在尝试从本地存储在webview页面中显示,第一次加载页面时看起来还可以,但是当我删除webview并再次添加它时,它看起来像在图片上(对于4.4,在以前的android版本中只是黑屏): web ...
- 后台播放音乐时进来电话或微信视频通话暂停音乐播放 网易云音乐 喜马拉雅...
最近项目中遇到一个问题,app内音乐后台播放时,如果有电话或者微信视频通话进来,app后台音乐还在播放.这样就造成用户体验不好,研究了市面上的音乐播放器,比如网易云音乐就很好的做到了如果有微信视频或者 ...
- VL50-简易秒表,60秒钟进位1分钟,60分钟是一小时,设计进制到60分钟时暂停计数
简易秒表,60秒钟进分钟.60分钟一小时,当计数到60分钟时暂停计数 1,RTL代码 2,门级网表 3,测试代码 4,前仿真+波形验证正确! 简易秒表 请编写一个模块,实现简易秒表的功能:具有两个输出 ...
最新文章
- js如何使浏览器允许脚本异步加载
- IOS学习之 网络编程(10)--简单介绍ASI框架的使用
- Highcharts-2.3.2 网页曲线绘制工具 一淘网价格曲线
- Ubuntu下C语言Debug工具GDB【1】安装和使用
- 【转】MySQL中select * for update锁表的问题
- freemarker -自定义指令
- #宝塔面板# #nginx+apache# KVS服务器运行环境搭建过程记录
- python unittest
- 【C语言期末实训】学生学籍管理系统
- 使用poi导出大量数据到excel遇到的问题
- 挖矿赚加密货币?不如出租GPU计算机获取加倍的利润
- 15-1 并发版爬虫架构
- ps制作哈7海报字体
- 工程力学(18)—压杆稳定
- jmeter上传文件踩坑指南
- IDEA2018版本相关配置
- android raw相机,最高大上的安卓相机App?专业拍摄ProShot
- TensorFlow 2.0深度学习算法实战---第13章 生成对抗网络
- 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践
- 成都计算机王牌专业专科学校,成都有哪些职业学校?怎么样?