A simple and easy-to-use music engine support playing-while-downloading feature.
All dependences are setted as sub module.
NCMusicEngine *player = [[NCMusicEngine alloc] init]; player.delegate = self; // If you need... [player playUrl:url];
NCMusicEngine generates cache key from your music url by default. If you need to manage it yourself, you could use the following method:
[player playUrl:url withCacheKey:@"cachekey"];
Tracking progress please use the following delegates:
- (void)engine:(NCMusicEngine *)engine didChangePlayState:(NCMusicEnginePlayState)playState; - (void)engine:(NCMusicEngine *)engine didChangeDownloadState:(NCMusicEngineDownloadState)downloadState; - (void)engine:(NCMusicEngine *)engine downloadProgress:(CGFloat)progress; - (void)engine:(NCMusicEngine *)engine playProgress:(CGFloat)progress;
I'll keep polishing this engine and keep adding new features. If you have any problems when using this engine, please feel free to drop me an issue or contact me: