A Better(Maybe) iOS Audio Stream & Play Swift Framework
import APlay
...leturl=URL(string:"path/to/audio/resource")!
letplayer=APlay()
player.eventPipeline.delegate(to:self, with:{(target, event)in
// event handling
})
player.play(url)...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_installdo |installer|
installer.pods_project.targets.eachdo |target|
target.build_configurations.eachdo |config|
swiftPods=['APlay']ifswiftPods.include?(target.name)config.build_settings['SWIFT_OPTIMIZATION_LEVEL']='-Onone'endendendendRun ./generate_docs.sh
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...
Carthagegithub "CodeEagle/APlay"
CocoaPodspod 'APlay'
- Airplay2 support(Maybe not)
- AudioEffectUint support
