2017-09-15 1 views
0

볼륨 페이드 인을 시작하고 AVPlayer를 사용하여 스트림 라디오를 재생해야합니다. 나는 예를 발견AVPlayer 볼륨 페이드 인

assert(_player.currentItem.tracks.firstObject); 
AVMutableAudioMixInputParameters* fadeIn = [AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:_player.currentItem.tracks.firstObject]; 
[fadeIn setVolume:0 atTime:kCMTimeZero]; 
[fadeIn setVolume:1 atTime:CMTimeMake(2, 1)]; 
NSMutableArray* paramsArray = [NSMutableArray new]; 
[paramsArray addObject:fadeIn]; 
AVMutableAudioMix* audioMix = [AVMutableAudioMix audioMix]; 
audioMix.inputParameters = paramsArray; 
_player.currentItem.audioMix = audioMix; 

을하지만 실시간으로 나는 두 번째의 첫 번째 라인과 IDE 경고 "유형 'AVAssetTrack * _Nullable'의 매개 변수에 'AVPlayerItemTrack * _Nullable'을 보내는 호환되지 않는 포인터 타입"의 충돌이 선.

는 최근 AVPlayer를 함께 작업 요구

가 감사 도움이됩니다.

답변

0

나는

for (UIView *view in [volumeView subviews]){ 
     if (![view.class.description isEqualToString:@"MPVolumeSlider"]) { 
      continue; 
     } 

     UISlider *volumeViewSlider = (UISlider *)view; 
     // volume from 0 to 1 
     [volumeViewSlider setValue:volume animated:YES]; 
     [volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside]; 

     break; 
    } 

그것이

+0

당신을 감사하는 데 도움이 희망 해결 방법을 사용 MPVolumeView에게 있습니다. 하지만 프로그래밍 방식으로 사용자 상호 작용없이 0에서 1 초까지 볼륨을 늘려야합니다. –

+0

AVPlayer에 속성 볼륨이 있습니다. 그것을 바꿀 수 있습니까? –

+0

예 ... _player.volume = _player.volume + 0.05; if (_player.volume == 1.) return; else { [self performSelector : @selector (soundFadeOut) withObject : nil afterDelay : 0.3]; } –

관련 문제