2012-02-06 8 views
2

私はユーザーのiPodライブラリから2つの異なるトラックを再生するアプリケーションに取り組んでいます。 2つのトラックの音量を個別に調整できる必要があります。 オンラインで見る私は、2つのAVPlayersのそれぞれでアクティブなplayerItemsのAVMutableAudioMixを調整するための提案を見つけました。2つのAVPlayersの音量を個別に調整する方法は?

iPodのようなミュージックプレーヤーをエミュレートするために必要ないくつかの機能をAVPlayerにサブクラス化しました。 以下は私のAVPlayerサブクラス内のメソッドで、playerPlayItemボリュームを調整するために使用します。 このメソッドは、sliderValueが変更されたときにviewControllerによって呼び出されます。

私の結果は、音量が変わらないということです。 このアプローチが有効かどうかは誰にも分かりますか? それが私の唯一の選択でなければ、Core Audioを掘り起こすことです。

ありがとうございました。

-(void)setPlayerItemVolume:(float)itemVolume 
{ 
     self.volume = itemVolume; 

     AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParameters]; 

     AVPlayerItem *currentPlayerItem = [self currentItem]; 

     CMTime currentTime = [currentPlayerItem currentTime]; 

     [audioInputParams setVolume:itemVolume atTime:currentTime]; 

     //[audioInputParams setTrackID:[currentPlayerItem trackID]]; 

     //[allAudioParams addObject:audioInputParams]; 

     NSArray *allAudioParams = [[NSArray alloc]initWithObjects:audioInputParams, nil]; 


     AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix]; 

     [audioMix setInputParameters:allAudioParams]; 

     [currentPlayerItem setAudioMix:audioMix]; 

} 

答えて

0

iOS 7では、AVPlayerに2つの新しいプロパティ、「ボリューム」と「ミュート」が導入されています。オーディオレベルを独立して変更するには、それらを使用できる必要があります。

関連する問題