#flash
#вспышка
Вопрос:
у меня проблема со звуками во flash. я надеюсь, что кто-нибудь может помочь.
задача: я хочу создать звуковую последовательность. на временной шкале есть 8 предопределенных точек начала звучания. для каждой начальной точки пользователь может выбрать, какой звук воспроизводится (выпадающее меню).
когда пользователь сделал свой выбор для всех 8 тактов. actionscript должен собрать эту информацию и создать плавную последовательность из этих 8 звуков. затем пользователю будет доступна кнопка «воспроизвести» для запуска последовательности. звуки не обязательно синхронизировать с кнопкой или около того. у actionscript есть время, чтобы собрать последовательность вместе.
проблема: когда я помещаю два звука непосредственно один за другим в видеоролик, между звуками нет задержки, что именно то, что я хочу, но я не могу контролировать, какой звук воспроизводится через actionscript.
когда я использую actionscript, между звуками возникает задержка. вот что я пробовал с as. это помещается в кадр, где должен начинаться sound2
если (_global.Sound2 == «Пианино» { var SoundA:Sound = новый звук (); SoundA.attachSound(«Пианино.mp3»); SoundA.start(); }
результирующая задержка не всегда одинакова. когда я публикую SWF-файл несколько раз, задержка каждый раз разная.
я использую flash 8
вопрос: есть ли решение во flash? если нет: возможно ли экспортировать список воспроизведения в другую программу, где для пользовательских настроек a используется последовательность без пробелов между звуками?
заранее спасибо, Марк
Ответ №1:
Задержка, с которой вы сталкиваетесь, может быть вызвана данными заголовка, которые присутствуют в файлах mp3. Вы могли бы пропустить эту часть, выполнив sound.start(skip);
где ‘skip’ — это количество секунд, которое вам нужно пропустить (должно хватить числа, подобного 0.6).
Единственная странность заключается в том, что вы говорите, что задержка не всегда одинакова, я бы не знал, как это исправить.
Комментарии:
1. но я использую файлы wav. я также не конвертирую в mp3 во flash. странно то, что когда я помещаю два звука в видеоролик один за другим, задержки нет. как только я использую actionscript, появляется задержка.
2. вы используете wavs? В вашем коде явно указано «Piano.mp3». Flash не может воспроизводить файлы wav, поэтому он выполнит сжатие mp3 за вас.
3. я пробовал как wav, так и mp3. я переключился на cs5 с as3 и использую: var mysound:Sound = new piano(); MySound.play(); это не меняет проблему. если я помещу звуки непосредственно во временную строку и синхронизирую их с «потоком», все будет в порядке. если я использую «событие» для синхронизации, между звуками возникает разрыв. то же самое с as3. я искал в Интернете, но не нашел ответа на этот вопрос. должно быть, это распространенная проблема. я был бы признателен за любую подсказку. могу ли я использовать синхронизацию «stream» в as3?