Skip to content
This repository has been archived by the owner on Jul 27, 2018. It is now read-only.
/ FreePlayer Public archive

Swift framework for streaming, playing, caching audio

License

Notifications You must be signed in to change notification settings

CodeEagle/FreePlayer

Repository files navigation

⚠️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.