Использование AVMutableAudioMix для регулировки громкости дорожек в активе

I ' m применяя AVMutableAudioMix к созданному мною активу, актив обычно состоит из 3-5 аудиодорожек (без видео). Цель состоит в том, чтобы добавить несколько команд громкости во время воспроизведения, то есть я хотел бы установить громкость на 0,1 через 1 секунду, 0,5 через 2 секунды, затем 0,1 или что-то еще через 3 секунды. Я только сейчас пытаюсь сделать это с помощью AVPlayer, но позже буду использовать его при экспорте AVSession в файл. Проблема в том, что он, кажется, заботится только о первой команде громкости и, похоже, игнорирует все последующие команды громкости. Если первая команда - установить громкость на 0,1, это будет постоянная громкость для этой дорожки для остальной части этого актива. Несмотря на то, что действительно похоже, что вы можете добавить любое количество этих команд, как "inputParameters" член AVMutableAudioMix на самом деле является NSArray, который является серией AVMutableAudioMixInputParameter. Кто-нибудь понял это?

Edit: Я понял это частично. Я могу добавить несколько изменений громкости на протяжении определенного трека. Но сроки кажутся далекими, я не знаю, как это исправить. Например, установка громкости на 0,0 через 5 секунд, затем на 1,0 через 10 секунд и затем обратно на 0,0 через 15 секунд заставит вас предположить, что громкость будет включаться и выключаться быстро в эти моменты времени, но результаты всегда очень непредсказуемы, с линейным увеличением. звуков, которые идут, а иногда и работают (с внезапными изменениями громкости, как и ожидалось от setVolume). Если у кого-то работает AudioMix, приведите пример.

5
задан Jonny 1 May 2011 в 10:02
поделиться