Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CodeEagle/APlay

Repository files navigation

APlay

A Better(Maybe) iOS Audio Stream & Play Swift Framework

Usage

import APlay
...
let url = URL(string: "path/to/audio/resource")!
let player = APlay()
player.eventPipeline.delegate(to: self, with: { (target, event) in
 // event handling
})
player.play(url)
...

⚠️⚠️⚠️ Known issue

This project can only run in DEBUG mode,cause optimization mode will pause the decode loop.

if install with CocoaPods, add this block of code in your podfile

post_install do |installer|
 installer.pods_project.targets.each do |target|
 target.build_configurations.each do |config|
 swiftPods = ['APlay']
 if swiftPods.include?(target.name)
 config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
 end
 end
 end
end

Docs

Run ./generate_docs.sh

Features

  • CPU-friendly design to avoid excessive peaks

  • Support seek on WAVE, and FLAC(with seektable)

  • Support all type of audio format(MP3, WAVE, FLAC, etc...) that iOS already support(Not fully tested)

  • Digest(Tested), Basic(not tested) proxy support

  • Multiple protocols supported: ShoutCast, standard HTTP, local files

  • Prepared for tough network conditions: restart on failures,restart on not full content streamed when end of stream

  • Metadata support: ShoutCast metadata, ID3V1, ID3v1.1, ID3v2.2, ID3v2.3, ID3v2.4, FLAC metadata

  • Local disk storing: user can add folders for local resource loading

  • Playback can start immediately without needing to wait for buffering

  • Support cached the stream contents to a file

  • Custom logging module and logging into file supported

  • Open protocols to support customizing. AudioDecoderCompatible, ConfigurationCompatible, LoggerCompatible...

Installation

Carthage github "CodeEagle/APlay"

CocoaPods pod 'APlay'

Todo

  • Airplay2 support(Maybe not)
  • AudioEffectUint support

Sponsor

Powered by DartNode

License

License

Contact

Github, Twitter

AltStyle によって変換されたページ (->オリジナル) /