-->

How can I fade-out the sound played by MPMusicPlay

2019-02-19 20:02发布

问题:

I'd like to fade-out the sound played by MPMusicPlayerController over a particular time period? How can I do this?

回答1:

There is no fade functionality so you have to implement it yourself. Loop until volume is 0, and add a delay for each step. If you want all this to happen 2 seconds into the future, put the code on a block:

MPMusicPlayerController *iPod = [MPMusicPlayerController iPodMusicPlayer];

int64_t delay = 2LL * NSEC_PER_SEC;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,delay), dispatch_get_current_queue(), ^{
    while (iPod.volume>.1){
        iPod.volume -= .1;
        [NSThread sleepForTimeInterval:0.1];
    }
});