사용자 iPod 라이브러리에서 두 개의 다른 트랙을 재생하는 앱을 만들고 있습니다. 두 트랙의 볼륨을 독립적으로 조정할 수 있어야합니다. 온라인을 둘러 보면서 두 AVPlayers에서 각각 활성화되어있는 playerItems에서 AVMutableAudioMix를 조정하라는 제안을 발견했습니다.2 개의 AVPlayers 볼륨을 독립적으로 조정하는 방법은 무엇입니까?
저는 iPod과 같은 musicPlayer를 에뮬레이션해야하는 몇 가지 기능을 포함하도록 AVPlayer를 서브 클래 싱했습니다. 아래는 player playersItem 볼륨을 조정하는 데 사용하려는 AVPlayer 하위 클래스의 메서드입니다. 이 메서드는 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];
}