Audjustable 0.0.12

Audjustable 0.0.12

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

未声明维护。



  • Thong Nguyen

Audjustable音频流媒体

主页

Audjustable是iOS和OSX的音频流媒体类。Audjustable利用CoreAudio进行音频解压缩和播放,同时提供简洁的面向对象的API。

此项目的主要动机是将输入(数据源/输入流)与实际播放逻辑解耦,以便实现高级可定制的输入处理,例如:HTTP流媒体、加密、自动恢复、动态缓冲。在此过程中,根据需要添加了其他功能,如无缝播放。

功能

  • 简单的面向对象API
  • 易读的源代码
  • 可调整的音频缓冲
  • 大多数异步API
  • 缓冲和无缝播放
  • 易于实现音频数据源(提供HTTP和本地文件系统数据源)
  • 易于扩展数据源以支持自适应缓冲、加密等。
  • 针对低CPU/电池使用优化

使用方法

下载包含一个简单的音频播放项目的源代码,该播放器通过HTTP或本地使用 respectively的 HttpDataSourceLocalFileDataSource 类进行音频流传输。

如果要将AudioPlayer直接集成到您的项目中,您只需要将 /Audjustable/Classes/AudioPlayer 目录中的文件复制到您的项目中即可。

Audjustable也作为 Cocoapod 提供。

代码

有两个主要类。一个是 DataSource 类,它是各种压缩音频数据源(HTTP、本地文件等)的抽象基类。另一个是 AudioPlayer 类,它管理并渲染来自队列数据源的数据。

// Create AudioPlayer

AudioPlayer* audioPlayer = [[AudioPlayer alloc] init];
audioPlayer.delegate = self;

// Queue on a URL to play. Each queue item has a unique ID (item1) that to identify the related file in delegate callbacks

[audioPlayer setDataSource:[audioPlayer dataSourceFromURL:@"https://github.com/downloads/tumtumtum/audjustable/sample.m4a"] withQueueItemId:@"item1"];

其他

在iOS上通过在AppDelegate中调用 AudioSessionInitialize 容易地添加后台播放到您的应用程序。

作者和贡献者

版权所有 2012, Thong Nguyen (@tumtumtum)