2017-09-15 3 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; 

をしかし、リアルタイムで私は2番目に最初のラインとIDEの警告「タイプ 『AVAssetTrack * _Nullable』のパラメータに 『AVPlayerItemTrack * _Nullable』を送信互換性のないポインタ型」でのクラッシュを持っていますライン。

私は最近avplayerと連携し、ニーズが

サンキュー助けます。

答えて

0

私はこの問題を回避する使用MPVolumeView

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

はありがとうございましたお役に立てば幸いです。しかし、私はプログラムで、ユーザーのやりとりなしで、数秒で0から1に音量を上げる必要があります。 –

+0

AVPlayerにはプロパティボリュームがあります。あなたはそれを変更しようとすることはできますか? –

+0

はい... _player.volume = _player.volume + 0.05; if(_player.volume == 1.)return; else { [self performSelector:@セレクタ(soundFadeOut)withObject:nil afterDelay:0.3]; } –

関連する問題