Use AudioStreamer to quickly click the next or last button, and the audio will be resolved repeatedly ., Audiostreamer
To solve this problem, I add a new attribute to the AudioStreamer. h file.
@ Property (nonatomic, strong) NSURL * musicUrl;
And a singleton method:
+ (Id) sharedStreamer;
At the same time, the singleton method and the set Method of musicURL are implemented in the AudioStreamer. m file.
+ (Id) sharedStreamer {
Static AudioStreamer * streamer = nil;
Static dispatch_once_t tocken;
Dispatch_once (& tocken, ^ {
Streamer = [[AudioStreamer alloc] init];
});
Return streamer;
}
-(Void) setMusicUrl :( NSURL *) musicUrl {
Url = musicUrl;
[[Nsicationcenter center defacenter center] addObserver: self selector: @ selector (handleInterruptionChangeToState :) name: ASAudioSessionInterruptionOccuredNotification object: nil];
}
In this way, the streamer object can be created as follows:
Streamer = [AudioStreamer sharedStreamer];
[Streamer stop];
Streamer. musicUrl = url;
[Streamer start];
Solve the problem .. Good night!