Requires fading effect when playing music

In my application, I use iPod Player to play background music (Music App) and AvAudioPlayer to play songs from URLs. I want to use the fade effect for songs when switching between these players. I tried the way, decreasing the volume of one player and increasing the other, but it didn't give me a fade effect. Can anyone help me how to achieve this? thanks in advance

This is my code

- (IBAction)play:(id)sender
{
    timerCount = 0;
    playAndPauseTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(playTimer) userInfo:nil repeats:YES];
}

-(void)playTimer
{
    MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];

    if(timerCount < 10) {
        timerCount++;

        float volume = musicPlayer.volume;
        if(volume>0) {
            volume = musicPlayer.volume-0.02f;
            [musicPlayer setVolume:volume];
        }
    } else {
        [playAndPauseTimer invalidate];
        [musicPlayer setVolume:initialVolume];
        [audioplayer play];
        pauseButton.hidden = NO;
        startButton.hidden = YES;
    }
}

- (IBAction)pause:(id)sender
{
    //[self pauseTimer];
    timerCount=0;
    playAndPauseTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(pauseTimer) userInfo:nil repeats:YES];

}

-(void)pauseTimer
{
    MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];

    if(timerCount < 10) {
        timerCount++;

        float volume = musicPlayer.volume;
        if(volume > 0){
            volume = musicPlayer.volume-0.02f;
            [musicPlayer setVolume:volume];
        }
    } else {
        [playAndPauseTimer invalidate];
        [audioplayer pause];
        [musicPlayer setVolume:initialVolume];
        pauseButton.hidden = YES;
        startButton.hidden = NO;
    }
}

      

+3


source to share





All Articles