/FreePlayer

Swift framework for streaming, playing, caching audio

Primary LanguageSwiftOtherNOASSERTION

⚠️Deprecated⚠️

Use APlay instead.

FreePlayer

Swift framework for streaming, playing audio

The project is based on the project FreeStreamer

why?

  • Pure Swift implementation, no need to mixing Objective-C/C++ in project

Features

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

  • CPU-friendly design(4% - 6%)

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

  • Prepared for tough network conditions: adjustable buffer sizes, stream pre-buffering and 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

  • Local disk caching: user only needs to stream a file once and after that it can be played from a local cache

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

  • Preloading: playback can start immediately without needing to wait for buffering

  • Record: support recording the stream contents to a file

  • Access the PCM audio samples: as an example, a visualizer is included

  • custom logging module and logging into file supported

  • FLAC support

License

See LICENSE for the license.