OrigamiEngine 1.0.14

OrigamiEngine 1.0.14

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Arthur Evstifeev 管理。



  • by
  • ap4y

轻量级的 iOS 和 OSX 音频引擎,支持 opus,flac,cue,mp3,m4a,m3u。

支持的格式

  • 音频源:http 和本地文件
  • 音频文件: opusflacmp3m4awav 和来自 CoreAudio 的其他文件
  • 播放列表: cuem3u

特性

  • 轻量级:编译后 300kb,含 libFLAC 为 1.2mb
  • 小内存占用:flac 文件不超过 2.5mb
  • 低资源消耗:ipod 4g 上 FLAC 使用约 14% 的 CPU
  • 所有操作均在后台使用 GCD 进行
  • 基于事件(使用 dispatch sources 和 CoreAudio 异步 API)
  • 提供完整的音频元数据(vorbis,id3 标签)以及嵌入的封面图片
  • HTTP 数据缓存
  • 经过测试(当前代码覆盖率约 85%)

概述

提供了静态库和 cocoapods podspec。静态库支持编译嵌入 FLAC 库(检查项目目标)。对于 OSX,您可以使用静态框架。

开始播放

self.player = [[ORGMEngine alloc] init];
NSURL* url = [NSURL URLWithString:tfUrl.text];
[_player playUrl:url];

常见操作

[_player metadata];                         // current metadata
[_player pause];                            // pause playback
[_player resume];                           // resume playback
[_player stop];                             // stop playback
[_player seekToTime:seekSlider.value];      // seek to second
[_player setNextUrl:url withDataFlush:YES]; // play next track and clear current buffer

委托方法

- (NSURL*)engineExpectsNextUrl:(ORGMEngine*)engine; // provides continious playback
- (void)engine:(ORGMEngine*)engine didChangeState:(ORGMEngineState)state; // state change callback

检查示例项目和测试以获取更多信息。

文档

项目头文件包含 appledoc 注释,预编译的 docset 在此处可获得:http://ap4y.github.com/OrigamiEngine/Documentation/index.html

测试

项目包括 OCUnit 测试。

致谢

  • http://cogx.org/ 的 Vincent Spader 提供。FLAC 解码实现基于 Cog 源文件。

许可证

(MIT 许可证)