• AUDIOqueue 为什么会播放一段时间就听不到声音


    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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    移动端的dl
    以resnet作为前置网络的ssd目标提取检测
    MobileNet V2
    axis
    后RCNN时代的物体检测及实例分割进展
    RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
    caffe2安装
    git学习
    各种各样的卷积核
    数字图像处理_基础知识
  • 原文地址:https://www.cnblogs.com/8335IT/p/10615504.html
Copyright © 2020-2023  润新知