StreamingKit:AudioPlayer/AudioStreamer的无缝扩展

StreamingKit

简介

StreamingKit是一个适用于iOS和Mac OSX的音频播放流媒体库。StreamingKit提供了一个简洁的面向对象API,用于在CoreAudio框架下进行音频的解压和播放(采用硬件或软件编解码器)处理。

StreamingKit的主要机制是对从播放器输入的数据源进行解耦,从而使高级定制的数据源可以进行诸如基于流媒体的渐进式下载、编码解码、自动恢复、动态缓冲之类的处理。StreamingKit是唯一支持不同格式音频文件无缝播放的音频播放流媒体库。

主要特点

  • 免费开源
  • 简洁的API
  • 可读性很强的源代码
  • 精心使用多线程提供了一个快速响应的API,既能防止线程阻塞,又能保证缓冲流畅
  • 缓冲并无缝播放所有不同格式的音频文件
  • 容易实现的音频数据源(支持本地、HTTP、AutoRecovering HTTP作为数据源)
  • 容易kuo扩展数据源以支持自动缓冲、编码等
  • 低耗电和低CPU使用率(CPU使用率0%,流式处理时使用率为1%)
  • 优化线性数据源,仅随机访问数据源需要搜索
  • StreamingKit0.2.0使用AudioUnit API而不是速度较慢的音频队列API,允许对原始PCM数据进行实时截取以获得并行测量、EQ等特征
  • 电能计量
  • 内置的均衡器(iOS5.0及以上版本、OSX10.9及以上版本)支持音频播放的同时动态改变、启用、禁用均衡器
  • 提供了iOS和Mac OSX应用实例

安装

通过CocoaPods安装

当然,你也可以将 ‘ StreamingKit/StreamingKit/ ‘ 路径下的所有文件拷贝到你的Xcode工程中进行使用。

使用

STKDataSource类和STKAudioPlayer类是StreamingKit中两个主要的类。STKDataSource类是各种压缩格式音频数据源的抽象基础类。STKAudioPlayer类管理和呈现来自队列数据源的音频,而且默认自动解析URL,内建合适的数据源。

通过HTTP播放MP3

不同格式音频无缝播放

播放之前截取PCM数据

其它

更多的文档资料可在项目Wiki中查看。

开源地址:https://github.com/tumtumtum/StreamingKit

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:魏川程



直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer