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的语音播放,可见时继续播放之前的语音相关推荐

  1. 解决 后台播放音乐时,设置手机铃声,后台音乐不会暂停

    2019独角兽企业重金招聘Python工程师标准>>> 手机后台播放音乐时,设置手机铃声,后台音乐不会暂停,此现象的为设置手机铃声界面,并没要加入播放的foucs机制, 此修改在pa ...

  2. android webview加载闪屏,Android Webview:加载url时出现闪屏

    我是Android应用程序中的新手,这是我的第一个应用程序. 我已经创建了启动画面和工程..但其后走了一个长长的白色空白屏幕约2-5秒,然后URL开始加载..Android Webview:加载url ...

  3. android动态设置错误页面,Android中替换WebView加载网页失败时的页面

    我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...

  4. android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题...

    ============问题描述============ 大家好,我最近遇到个问题:    大家都知道,播放器中的播放/暂停键是这样的逻辑:当用户点击了这个键,如果当前显示的是"播放&quo ...

  5. android web canvas,HTML5 - Canvas无法在Android WebView的第一次加载时渲染

    我正在开发基于HTML5画布的游戏,该游戏在现有应用程序的WebView中运行.在第一次运行游戏时,它会在后台成功加载,所有日志都表明它已准备就绪并正在运行.但是,WebView中不显示任何内容.如果 ...

  6. android poi webview,java-Android(4.4)WebView第二次加载时不显示ifra...

    我正在尝试从本地存储在webview页面中显示,第一次加载页面时看起来还可以,但是当我删除webview并再次添加它时,它看起来像在图片上(对于4.4,在以前的android版本中只是黑屏): web ...

  7. android 4.2 webview,java-Android(4.4)WebView第二次加载时不显示ifra...

    我正在尝试从本地存储在webview页面中显示,第一次加载页面时看起来还可以,但是当我删除webview并再次添加它时,它看起来像在图片上(对于4.4,在以前的android版本中只是黑屏): web ...

  8. 后台播放音乐时进来电话或微信视频通话暂停音乐播放 网易云音乐 喜马拉雅...

    最近项目中遇到一个问题,app内音乐后台播放时,如果有电话或者微信视频通话进来,app后台音乐还在播放.这样就造成用户体验不好,研究了市面上的音乐播放器,比如网易云音乐就很好的做到了如果有微信视频或者 ...

  9. VL50-简易秒表,60秒钟进位1分钟,60分钟是一小时,设计进制到60分钟时暂停计数

    简易秒表,60秒钟进分钟.60分钟一小时,当计数到60分钟时暂停计数 1,RTL代码 2,门级网表 3,测试代码 4,前仿真+波形验证正确! 简易秒表 请编写一个模块,实现简易秒表的功能:具有两个输出 ...

最新文章

  1. js如何使浏览器允许脚本异步加载
  2. IOS学习之 网络编程(10)--简单介绍ASI框架的使用
  3. Highcharts-2.3.2 网页曲线绘制工具 一淘网价格曲线
  4. Ubuntu下C语言Debug工具GDB【1】安装和使用
  5. 【转】MySQL中select * for update锁表的问题
  6. freemarker -自定义指令
  7. #宝塔面板# #nginx+apache# KVS服务器运行环境搭建过程记录
  8. python unittest
  9. 【C语言期末实训】学生学籍管理系统
  10. 使用poi导出大量数据到excel遇到的问题
  11. 挖矿赚加密货币?不如出租GPU计算机获取加倍的利润
  12. 15-1 并发版爬虫架构
  13. ps制作哈7海报字体
  14. 工程力学(18)—压杆稳定
  15. jmeter上传文件踩坑指南
  16. IDEA2018版本相关配置
  17. android raw相机,最高大上的安卓相机App?专业拍摄ProShot
  18. TensorFlow 2.0深度学习算法实战---第13章 生成对抗网络
  19. 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践
  20. 成都计算机王牌专业专科学校,成都有哪些职业学校?怎么样?

热门文章

  1. python制作二级菜单_Python_简单三级菜单制作
  2. 成员变量和类变量的区别:
  3. 手机技巧:手机电量为啥到20%就会提醒充电,看完你就懂了!
  4. 数据库:30种SQL语句优化,进阶必备!
  5. Windows下UAC安全机制笔记
  6. 快速理解网络通信协议
  7. SQL命令大全-中英文对照
  8. SpringBoot 记录操作日志
  9. 数据库---聚合查询
  10. Android 第八课 创建自定义控件