AUDIOqueue 为什么会播放一段时间就听不到声音
- 转自简书;非常有用
- AudioQueue缓冲区为空时,那么AudioQueueOutputCallback回调不会再调用
这个其实很好理解,AudioQueue的回调本事就是数据播完了才回调的
- AudioQueue播着播着就停了
缓冲区长期处于饥饿状态,这个Queue就可能就用不了。饥饿限制的时间不定,短则几百毫秒,多则几秒。
- AudioQueueBuffer播放时长
播放时长和mAudioDataByteSize相关(PCM)
- 锁屏
锁屏(休眠)状态下,系统会降低App唤醒次数以降低功耗,所以AudioQueueOutputCallback的回调也会有延迟。导致的结果是声音可能已经播了很久回调才过来。
- 静音包
声学原理上,振幅不变就是静音。对于压缩格式,数据全部为0,不一定是静音。
- AudioQueueStart
AudioQueueStart可以多次连续调用,无副作用。当前AQ暂停后,在前台模式AQ还有机会重启。比如当前被音乐打断,可以重启AQ而把音乐打断;但是系统级的,比如来电,重启AQ会返回错误码。
- 录音
默认情况下,录音用的是下面的麦克风。如果同时支持播放,声音从听筒出来。以降噪为评判,上面的MIC比下面的好
- AudioQueueReset
AudioQueueReset的作用是清除音频队列缓冲区,调用后不能再Start。因此它一般配合Stop使用,更快的停止播放。、、这条勘误下,实测start前需要reset。否则还是过一段时间没声音
作者:偶是星爷
链接:https://www.jianshu.com/p/3d82065e819d
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
AUDIOqueue 为什么会播放一段时间就听不到声音的更多相关文章
- Android IJKPlayer缓冲区设置以及播放一段时间出错解决方案
IJKPlayer拖动播放进度会导致重新请求数据,未使用已经缓冲好的数据,所以应该尽量控制缓冲区大小,减少不必要的数据损失. mMediaPlayer.setOption(IjkMediaPlayer ...
- iOS音频播放之AudioQueue(一):播放本地音乐
AudioQueue简单介绍 AudioStreamer说明 AudioQueue具体解释 AudioQueue工作原理 AudioQueue主要接口 AudioQueueNewOutput Audi ...
- 从配置读取一段时间(TimeSpan)
C#的TimeSpan表示一段时间,DateTime表示一个时间点.TimeSpan可正可负,可与DateTime相加减,很方便,我喜欢. 代码中我们经常要表示一段时间,用一个统一的单位(时 或者 分 ...
- Win8.1开机黑屏一段时间才能登录
最近发现开机后有一段时间黑屏过后才能进人登录界面,并且时间越来越长,网上查询了很多方法都没有效果,只能自己找了. 网上有一种方法提到用msconfig诊断判断或者安全启动来查看是否有黑屏,于是试了一下 ...
- 关于ScheduledExecutorService执行一段时间之后就不执行的问题
在项目中使用java的定时任务时,有的时候执行一段时间后没任何反应了.这里有篇文章说了这个问题.猛击下面的链接. http://blog.163.com/scuqifuguang@126/blog/s ...
- 这段时间对c#和java的感受
这段时间对c#和java的感受 虽然很多书上说语法相似,但实际这是一个接近于门外汉的看法 真正的不同是 c#对更贴近系统API, 而java倡导跨平台 因而c#语法关键字更多,更细, 而ja ...
- C#实现每隔一段时间执行代码(多线程)
总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...
- IIS服务器运行一段时间后卡死,且无法打开网站(IIS管理无响应,必须重启电脑)
问题描述: 公司希望使用IIS配合网站显示一些订单跟进的情况并展示出来,所以我们在一台演示的Win7 Pro电脑上安装了IIS,但使用了一段时间后发现每过几天页面就无法正常访问了,而且打开IIS管理器 ...
- storm进程正常运行一段时间shut down,运维方式
storm启动一段时间后,无征兆的停止了,然后nimbus,supervisor,ui所有的worker都stop了. 我用的storm是0.8.2版本的 nimbus中留下的log如下 -- :: ...
随机推荐
- CentOS初次安装基本配置
在虚拟机中安装CentOS7碰到的问题以及解决方法 1.安装之后想通过CRT远程连接获,输入ifconfig查看系统ip报错误:ifconfig command not found,报此错误是由于初次 ...
- Google瓦片地图URL
http://mt2.google.cn/vt/lyrs=y&scale=2&hl=zh-CN&gl=cn&x=6891&y=3040&z=13 //含 ...
- 1、Netty 实战入门详解
一.Netty 简介 Netty 是基于 Java NIO 的异步事件驱动的网络应用框架,使用 Netty 可以快速开发网络应用,Netty 提供了高层次的抽象来简化 TCP 和 UDP 服务器的编程 ...
- mysql-xtrabackup备份sh: xtrabackup_56: command not found与error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
sh: xtrabackup_56: command not foundinnobackupex: fatal error: no 'mysqld' group in MySQL options解决办 ...
- Java进程&线程(整理)
Java进程&线程 程序:程序员写的代码,就是代码,不运行好像不会发生什么: 进程:一个进程可以理解为"运行的"一个程序,当我们启动一个java程序后,对应的jvm就会创建 ...
- pinyin.js
export default { a: "\u554a\u963f\u9515", ai: "\u57c3\u6328\u54ce\u5509\u54c0\u7691\u ...
- CentOS7 部署zabbix4.2
zabbix我就不介绍了吧,但是可能又有些小白,我还是介绍一下吧,嘿嘿! 一:什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提 ...
- C语言列出真分数序列代码及解析
问题描述 按递增顺序依次列出所有分母为60,分子小于60的最简分数. 问题分析 分子.分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数,如2/3,8/9,3 ...
- 【HDFS API编程】图解客户端写文件到HDFS的流程
- EF core2.1+MySQL报错'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper)
一.使用.net core 2.0 EF mysql 运行一直报错如下: An unhandled exception occurred while processing the request. M ...