1. 转自简书;非常有用
  2. AudioQueue缓冲区为空时,那么AudioQueueOutputCallback回调不会再调用

这个其实很好理解,AudioQueue的回调本事就是数据播完了才回调的

  1. AudioQueue播着播着就停了

缓冲区长期处于饥饿状态,这个Queue就可能就用不了。饥饿限制的时间不定,短则几百毫秒,多则几秒。

  1. AudioQueueBuffer播放时长

播放时长和mAudioDataByteSize相关(PCM)

  1. 锁屏

锁屏(休眠)状态下,系统会降低App唤醒次数以降低功耗,所以AudioQueueOutputCallback的回调也会有延迟。导致的结果是声音可能已经播了很久回调才过来。

  1. 静音包

声学原理上,振幅不变就是静音。对于压缩格式,数据全部为0,不一定是静音。

  1. AudioQueueStart

AudioQueueStart可以多次连续调用,无副作用。当前AQ暂停后,在前台模式AQ还有机会重启。比如当前被音乐打断,可以重启AQ而把音乐打断;但是系统级的,比如来电,重启AQ会返回错误码。

  1. 录音

默认情况下,录音用的是下面的麦克风。如果同时支持播放,声音从听筒出来。以降噪为评判,上面的MIC比下面的好

  1. AudioQueueReset

AudioQueueReset的作用是清除音频队列缓冲区,调用后不能再Start。因此它一般配合Stop使用,更快的停止播放。、、这条勘误下,实测start前需要reset。否则还是过一段时间没声音

作者:偶是星爷
链接:https://www.jianshu.com/p/3d82065e819d
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

AUDIOqueue 为什么会播放一段时间就听不到声音的更多相关文章

  1. Android IJKPlayer缓冲区设置以及播放一段时间出错解决方案

    IJKPlayer拖动播放进度会导致重新请求数据,未使用已经缓冲好的数据,所以应该尽量控制缓冲区大小,减少不必要的数据损失. mMediaPlayer.setOption(IjkMediaPlayer ...

  2. iOS音频播放之AudioQueue(一):播放本地音乐

    AudioQueue简单介绍 AudioStreamer说明 AudioQueue具体解释 AudioQueue工作原理 AudioQueue主要接口 AudioQueueNewOutput Audi ...

  3. 从配置读取一段时间(TimeSpan)

    C#的TimeSpan表示一段时间,DateTime表示一个时间点.TimeSpan可正可负,可与DateTime相加减,很方便,我喜欢. 代码中我们经常要表示一段时间,用一个统一的单位(时 或者 分 ...

  4. Win8.1开机黑屏一段时间才能登录

    最近发现开机后有一段时间黑屏过后才能进人登录界面,并且时间越来越长,网上查询了很多方法都没有效果,只能自己找了. 网上有一种方法提到用msconfig诊断判断或者安全启动来查看是否有黑屏,于是试了一下 ...

  5. 关于ScheduledExecutorService执行一段时间之后就不执行的问题

    在项目中使用java的定时任务时,有的时候执行一段时间后没任何反应了.这里有篇文章说了这个问题.猛击下面的链接. http://blog.163.com/scuqifuguang@126/blog/s ...

  6. 这段时间对c#和java的感受

    这段时间对c#和java的感受 虽然很多书上说语法相似,但实际这是一个接近于门外汉的看法 真正的不同是 c#对更贴近系统API,      而java倡导跨平台 因而c#语法关键字更多,更细, 而ja ...

  7. C#实现每隔一段时间执行代码(多线程)

    总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...

  8. IIS服务器运行一段时间后卡死,且无法打开网站(IIS管理无响应,必须重启电脑)

    问题描述: 公司希望使用IIS配合网站显示一些订单跟进的情况并展示出来,所以我们在一台演示的Win7 Pro电脑上安装了IIS,但使用了一段时间后发现每过几天页面就无法正常访问了,而且打开IIS管理器 ...

  9. storm进程正常运行一段时间shut down,运维方式

    storm启动一段时间后,无征兆的停止了,然后nimbus,supervisor,ui所有的worker都stop了. 我用的storm是0.8.2版本的 nimbus中留下的log如下 -- :: ...

随机推荐

  1. PXC5.7(Percona XtraDB Cluster)+HAproxy+Keepalived 集群部署

    Percona-XtraDB-Cluster+Haproxy 搭建集群环境 环境准备及服务器信息: 配置防火墙 firewall-cmd --add-port=3306/tcp --permanent ...

  2. php函数形参传值与传引用

    传值 ------------------------------------------------- function example( $m ){     $m = $m * 5 + 10;   ...

  3. Spark-RPC理解

    基本架构 Akka Actor式RPC架构 Spark采用的是AkkaActor架构实现RPC,但是实际使用过程为了兼容不同节点之间的文件下载,采用Netty来实现Actor功能. Spark RPC ...

  4. golang初识2

    1. 赋值与申明 str := "Hello, WebAssembly" // 简短声明 标准格式: var str string str = "Hello, WebAs ...

  5. 观察者模式的python实现

    什么会观察者模式?观察者模式就是订阅-推送模式.是为了解耦合才会被利用起来的设计模式. 经典的就是boss 前台和员工之间的故事.一天A员工在看电影,B员工在看动漫,但是两人担心boss来了,自己没及 ...

  6. HTTP 请求头中的 Remote_Addr,X-Forwarded-For,X-Real-IP

    REMOTE_ADDR 表示发出请求的远程主机的 IP 地址,remote_addr代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,假设中间 ...

  7. 用ASP.NET_Regsql.exe创建Session数据库

    CMD: C:\Users\ZhangSC>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe -S ZhangS ...

  8. CentOS 6 端口白名单设置

    通在/etc/sysconfig/iptables文档中添加端口白名单,命令如下(编辑好后 esc->wq 保存退出): vi /etc/sysconfig/iptables 添加好后重启防火墙 ...

  9. php laravel+nginx 除了根目录都报404 解决

    在nginx的配置文件加 location / { try_files $uri $uri/ /index.php?$query_string; } 即可!!!!!!!

  10. 微信小程序海报生成功能

    如果是H5页面的话给大家推荐一款不错的插件html2canvas,这个插件可以将html元素转为canvas并一键生成png图片,但是本文的重点是在小程序上如何实现生成图片的功能.因为小程序没有DOM ...