https://github.com/tyrone-sudeium/ebaudiokit
Streaming, caching, queueing, backgroundable, Opus-based audio player for iOS.
https://github.com/tyrone-sudeium/ebaudiokit
Last synced: 16 days ago
JSON representation
Streaming, caching, queueing, backgroundable, Opus-based audio player for iOS.
- Host: GitHub
- URL: https://github.com/tyrone-sudeium/ebaudiokit
- Owner: tyrone-sudeium
- License: mit
- Created: 2014-01-03T09:37:16.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2014-05-29T11:30:46.000Z (over 11 years ago)
- Last Synced: 2025-04-05T06:31:57.067Z (7 months ago)
- Language: Objective-C
- Size: 1.26 MB
- Stars: 13
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
EBAudioKit
==========## Ugh, never mind. This is discontinued. Use [OrigamiEngine](https://github.com/ap4y/OrigamiEngine) instead.
Building the next BandCamp? Prettier than Pandora? Sexier than Spotify?
Groovier than GrooveShark? You need EBAudioKit! EBAudioKit is a streaming,
caching, queueing, backgroundable, Opus-based audio player for iOS.It was built because AVFoundation simply has no mechanism whatsoever to write a
track that's currently streaming to disk, so that it can be played again later
without an internet connection. This level of contempt for a user's internet
connection was offensive to me. This problem has been solved by many vendors
already, but none of them had the decency to release their audio players as
open source. You guys used to be cool.Design Goals
------------First and foremost, EBAudioKit is designed to be a simple API, providing
useful functionality but with a very narrow focus. It will not replace
[VLCKit](https://wiki.videolan.org/VLCKit/)
or AVFoundation. Required features for 1.0 include:- `[x]` HTTP and HTTPS streaming.
- `[x]` Streaming .opus files and playing back Opus-encoded content.
- `[ ]` Automatically switching to a local file if there is one.
- `[x]` Seeking.
- `[ ]` Player item queueing (like `AVQueuePlayer`, except not shit).
- `[x]` Robust track caching, including partial cache.
- `[ ]` Track caching must be manageable by the API consumer.Things I would like to include:
- `[ ]` ReplayGain support.
- `[ ]` Entity Tags.
- `[ ]` MP3, AAC, Vorbis support. These are tricky because seeking.
- `[ ]` OS X support.Things I will never include:
- A plugin system.
- Video support.
- Cross-platform support. This library is for the Apple ecosystem. If you need
something cross-platform have a look at
[libVLC](https://wiki.videolan.org/LibVLC/).Why Opus?
---------If you care about data usage, there is simply no other codec that comes close
to the efficiency of Opus. As an Australian with extremely expensive bandwidth
costs, I want to reduce as much as possible unnecessary traffic over the wire,
and so should you! Every byte counts, and reducing data usage helps reduce
server costs and will reduce your user's data usage on their limited data plan.Usage
-----Until I can be bothered putting it in the master repo, you'll need to add my
spec repo to CocoaPods before you can use it.```bash
$ pod repo add xiph-ios-podspecs https://github.com/tyrone-sudeium/xiph-ios-podspecs.git
```Add it to your `Podfile`
```ruby
pod 'EBAudioKit'
```