Обновление свойства AVAudioUnit в точное время устройства во время воспроизведенияIOS

Программируем под IOS
Ответить
Anonymous
 Обновление свойства AVAudioUnit в точное время устройства во время воспроизведения

Сообщение Anonymous »

Вопрос:
Есть ли способ во время воспроизведения вызвать изменение свойства AVAudioUnitTimePitchrate (или, в более общем смысле, любого свойства AVAudioUnit) в указанный момент времени устройства?
Контекст:
У меня есть AVAudioSequencer и AVAudioPlayer — выход которого подключен к AVAudioUnitTimePitch — который начал воспроизведение в идеальной синхронизации (с использованием hostime(forBeats:error:) и play(atTime:), подробности см. в этом ответе SO).
Я хотел бы точно синхронизировать изменение свойств AVAudioSequencer и AVAudioTimePitch, соответствующих свойств скорости (здесь есть ссылки на скорость секвенсора и документ о расценке единицы времени шага). Когда я редактирую оба свойстваrate как последовательные операторы в одном и том же потоке моего кода, соответствующие эффекты происходят не синхронно.
Мой текущий обходной путь: остановите AVAudioPlayer на короткое время и перезапустите его (с новой скоростью) синхронно с секвенсором, используя hostime(forBeats:error:) и снова воспроизведите(atTime:).

Подробнее здесь: https://stackoverflow.com/questions/793 ... g-playback
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»