zoukankan      html  css  js  c++  java
  • 提高audioqueue启动时间的一个技巧

    最近一直在搞音频相关的项目,很羡慕与酷我听听瞬时的启动速度,而我自己的在线音频需要3-4s的启动时间,本地音频则需要1-2s的启动时间。有一些强迫症的笔者希望能够大大提升audioqueue的启动速度,开始以为是本地文件的加载速度不行,因为一开始使用的是cfreadstream技术,是一种异步文件读取技术,所以初步假定问题在这。接下来使用了CFReadStreamCreateWithBytesNoCopy技术和NSTimer技术,但是并无明显的速度提升。后来经过多次的定位,发现audioqueuestart函数的启动就需要花费1-2s(这次数字都是在本人电脑上测出的,不具有普遍性),当下觉得很诧异,后来经过分析发现时间主要用在音频数据的解码上了。接着使用了audioqueueprime函数来解码音频数据,果然速度大大提升,而audioqueueprime的执行时间则需要1-2s。因此,笔者就想到了一种解决方案,即提前做好所有的队列创建和音频解码功能,用户按下播放按钮则直接调用audioqueuestart函数,这样即可大大地提升用户的产品体验。

  • 相关阅读:
    self 和 super 关键字
    NSString类
    函数和对象方法的区别
    求两个数是否互质及最大公约数
    TJU Problem 1644 Reverse Text
    TJU Problem 2520 Quicksum
    TJU Problem 2101 Bullseye
    TJU Problem 2548 Celebrity jeopardy
    poj 2586 Y2K Accounting Bug
    poj 2109 Power of Cryptography
  • 原文地址:https://www.cnblogs.com/CoderPlace/p/2458937.html
Copyright © 2011-2022 走看看