私はユーザーの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];
}