Прошивка CS4 AS3, звуковой канал.неточная позиция

#flash #actionscript-3 #audio #cs4 #soundchannel

#прошивка #actionscript-3 #Аудио #cs4 #звуковой канал

Вопрос:

РЕДАКТИРОВАТЬ: Извините за переформулировку вопроса, но я просто упрощаю проблему. Я не получаю точных значений для SoundChannel.position для внешнего MP3, который воспроизводится. Я пробовал различные битрейты аудио и неизменно получаю SoundChannel.position, который меньше (~ 250 мс), чем тот, на котором воспроизводился фактический звук. Кроме того, позиция никогда не равна длительности. Он всегда завершается позже, даже когда генерируется событие SOUND_COMPLETE.

Adobe заявляет, что любые проблемы с положением звука / длительностью исправлены в последней версии Flash Player. Я, очевидно, не получаю тех же результатов. Мне нужны очень точные значения положения, чтобы иметь настраиваемую перетаскиваемую временную шкалу и ключевые точки. Есть ли какой-нибудь альтернативный метод, который я должен попробовать? Я не уверен, что делать. Спасибо.

Ответ №1:

попробуйте использовать TimerEvent.TIMER вместо ENTER_FRAME as здесь: реальный интервал между кадрами почти никогда 1000 / fps

Комментарии:

1. Спасибо, но это не решает проблему, которая кажется неверной информацией, которую я получаю непосредственно из класса SoundChannel.

2. @Keith — ты пытался вызвать getTimer() help.adobe.com/en_US/FlashPlatform/reference/actionscript/3 /… — сравнить его шаг с одним из SoundChannel.position ? правильно ли звучит mp3? Кстати, было бы здорово увидеть какой-нибудь код)

3. Теперь я действительно могу подтвердить, что SoundChannel.position отстает примерно на 250-300 мс всякий раз, когда я отслеживаю это (независимо от того, использую ли я enter_frame или timerevent). У меня был цикл, который останавливает звук, когда позиция => 1000, и звук всегда воспроизводится примерно на 1,25 секунды. Это еще хуже, потому что меня не волнует, если конец «прыгает», когда позиция во время воспроизведения НИКОГДА не бывает точной — у меня есть контрольные точки, которые мне нужно активировать в определенное время, и если позиция не соответствует воспроизводимому звуку, будут проблемы.