Беспрерывное воспроизведение последовательных звуков во Flash

StackOverflow https://stackoverflow.com/questions/975333

Вопрос

Я делаю флеш, который по сути представляет собой очень простой трекер.Мой вопрос касается последовательного воспроизведения и, в частности, проблем с синхронизацией.

Объект SoundChannel удобно предоставляет событие SoundCompleted, но использование этого приводит к крошечным промежуткам между звуками, что (к сожалению) делает его бесполезным.

Все, что мне удалось найти на данный момент, — это учебные пособия, в которых используются события, запускаемые каждую миллисекунду, и вручную отслеживается момент начала следующего звука.Это кажется немного хакерским и излишне расточительным.

Есть ли лучший способ последовательно синхронизировать звуки при воспроизведении без пауз?

Это было полезно?

Решение 2

Это могло бы сработать, но тайм-ауты не зависят от частоты кадров или, во всяком случае, не совсем.Как вы говорите, они срабатывают как можно ближе к установленному тайм-ауту, но я обнаружил, что точность может меняться в зависимости от частоты кадров.

Но что касается исходной проблемы, я провел небольшое исследование и ответил на это сам.

Другие советы

Если вы запросите время текущего звука (или оставшееся время) в миллисекундах и установить тайм-аут за этот период и начать следующий звук в обработчике тайм-аута, это сработает?Я не пробовал и не нашел надежного, но обработчики тайм-аута будут вызываться настолько близко к прямому времени, насколько это возможно для Flash Player (независимо от частоты кадров и т. д.).Так что, если это не сработает, я не могу себе представить, что еще могло бы быть, если бы это не был какой-то вариант оценки необходимого количества мс свободы действий и попытка запустить следующий звук за 5 мс или что-то еще до того, как запланирован текущий. конец.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top