AVMutableAudioMix простой вопрос - PullRequest
0 голосов
/ 10 июня 2011

просто хочу понять, что именно я могу сделать с этим классом AVMutableAudioMix, как только я вставлю PlayerItems (Assets) в AudioMix, могу ли я воспроизводить их по одному или несколько одновременно в AVPlayer и изменить параметры динамически?

1 Ответ

3 голосов
/ 11 июня 2011

Я думаю, что вы, возможно, визуализируете это неправильно.Экземпляр AVMutableAudioMix на самом деле является свойством класса AVPlayerItem.Сначала захватите дорожку ресурса, используя trackWithMediaType: и создайте AVMutableAudioMixInputParameters экземпляр, используя audioMixInputParametersWithTrack: .Установите любые аудио свойства в этом экземпляре входных параметров (например, setVolume: atTime).

Затем вам необходимо добавить входные параметры в экземпляр AVMutableAudioMix.Затем вам нужно добавить это к элементу игрока.Я знаю, это звучит странно, но именно так AVFoundation работает практически со всем.Термины летают повсюду, но почти во всем есть иерархия.

Итак, общая иерархия такова: player-> playerItem-> audioMix-> inputParameters.Код для уменьшения громкости с 5 до 7 секунд должен выглядеть примерно так:

AVAssetTrack *audioTrack = [[self.player.currentItem.asset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
AVMutableAudioMixInputParameters *params = [AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:audioTrack];
[params setVolumeRampFromStartVolume:1.0 toEndVolume:0.5 timeRange:CMTimeRangeMake(CMTimeMake(5,1), CMTimeMake(2,1))];

AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix];
audioMix.inputParameters = [NSArray arrayWithObject:params];

self.player.currentItem.audioMix = audioMix;

Насколько это возможно динамически, вы можете, но только с локальными файлами (в отличие от потоковой передачи изинтернет).Я, вероятно, попытался бы сохранить этот audioMix в качестве ивара и пытаться сбрасывать параметры каждый раз, когда вы хотите, чтобы что-то произошло.Если это не сработает, возможно, вам придется каждый раз создавать экземпляр AVMutableAudioMix, не уверен.

Также см. этот пост и этот .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...