2013-12-20 2 views
0

나는이처럼 연주 소리를 만들었습니다. 그러나 천천히, 부드럽게, 즉시. 응용 프로그램을 배경으로두면 음악이 즉시 멈추지 않지만 대략 0.5 초가됩니다.AVAudioPlayer 감소 수준은 천천히

가능합니까?

감사합니다.

답변

2

예, 가능하며 여러 가지 방법으로이 "페이드 아웃"효과를 얻을 수 있습니다.

나는 이전 프로젝트에서이처럼했고, 그것은 나를

-(void)fadeOut { 

    if (self.backgroundMusic.volume > 0.05) { 

     self.backgroundMusic.volume = self.backgroundMusic.volume - 0.05; 

     // Volume will be zero after ~0.5 seconds 
     [self performSelector:@selector(fadeOut) withObject:nil afterDelay:1.0/40.0]; 

    } else { 
     [self.backgroundMusic stop]; 
    } 
} 
+0

정말 좋은 예를 들어 정말 잘했다! 감사 ! – user2947788

0

AVAudioPlayer의 타이머를 만들고 볼륨을 줄입니다.

[NSTimer scheduledTimerWithTimeInterval: 1.0 
         target: self 
         selector:@selector(timerTriggered:) 
         userInfo: nil repeats:YES]; 

-(void)timerTriggered:(NSTimer *)timer 
{ 
    [appSoundPlayer setVolume: appSoundPlayer.volume - 0.1]; 

    if(appSoundPlayer.volume == 0.0) 
    { 
    [timer inValidate]; 

    timer = nil; 
    } 
}