我正在开发一个应用程序,它可以播放用户iPod库中的两个不同的曲目。我需要能够独立地调节两个音轨的音量。在网上浏览一下,我发现了一个建议,可以调整playerItems上的AVMutableAudioMix,这两个AVPlayers中的每一个都是活跃的。
我对AVPlayer进行了子类化,以包含一些模拟musicPlayer (如iPod )所需的功能。下面是我的AVPlayer子类中的方法,我想用它来调整播放器的playerItem音量。当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];
}
发布于 2013-10-11 05:24:30
iOS 7在AVPlayer上引入了两个新属性:“音量”和“静音”。您应该能够使用这些来独立地更改音频级别。
https://stackoverflow.com/questions/9167195
复制相似问题