PDA

Просмотр полной версии : Зацикливание звука


fortman
10.05.2009, 23:19
Привет всем!
Зацикливаю звук так
music.start(0, 99999);

или извращенно так

musicListener.onEnterFrame = function()
{
if(music.position > music.duration - 2000)
{
music.stop();
music.start(0.2, 100);

}

}

- чтобы начало и конец немного обрезались.
Но всё равно ровного перехода нет, то есть либо милисекунды тищины, либо так называемый "стрик" слышен, как пыль на виниловой пластинке. Как поправить, подскажите...

VVall
10.05.2009, 23:26
Написать в Adobe, что поддержка звука во Flash просто ... никакая. Это до сих пор не решено, нормально зациклить можно только при использовании встраиваемого wav (в IDE, он сожмётся при компиляции) и зацикливании файла полностью. Внешние mp3-файлы нормально зациклить нельзя.

Извращённый способ не будет работать нормально - время события не гарантировано и позиция возвращается не актуальная, а приблизительная.

fortman
11.05.2009, 00:13
Написать в Adobe, что поддержка звука во Flash просто ... никакая. Это до сих пор не решено, нормально зациклить можно только при использовании встраиваемого wav (в IDE, он сожмётся при компиляции) и зацикливании файла полностью. Внешние mp3-файлы нормально зациклить нельзя.

Извращённый способ не будет работать нормально - время события не гарантировано и позиция возвращается не актуальная, а приблизительная.

Да, всё правильно... Ацтой, но пришлось использовать wav, но хоть какой то выход. Спасибо!

Mnilionic
11.05.2009, 01:28
music.onSoundComplete = function(){
music.start(0);
}

VVall
11.05.2009, 01:47
Это не решение - событие будет после паузы, вносимой внешним кодированием mp3, то есть будет то же самое, как при music.start(0,большое число).

KiL33
11.05.2009, 08:59
Mnilionic все верно предложил, это то что нужно было забаненному пользователю.
Это не решение - событие будет после паузы, вносимой внешним кодированием mp3, то есть будет то же самое, как при music.start(0,большое число).
Никогда не возникало проблем.

Mnilionic
11.05.2009, 16:06
проблема есть на самом деле:
Открываем SoundForge к примеру.
Тримим какой-нить звук ( по краям не должно быть тишины)
Сохраняем как mp3.
Открываем сохранённый фаил и любуемся "пробельными символами" в начале и в конце звукового графика.

Это не проблеиа флеша, это - кодек такой

VVall
11.05.2009, 17:55
KiL33, вам просто везёт. Если поищете в интернете, увидите множество тем на форумах с обсуждением этой проблемы.

Суть в том, что MP3 и другие форматы сжатия звука с потерями оперируют кадрами (блоками сэмплов), а не отдельными сэмплами, поэтому длина файла становится кратной длине кадра и возникают фрагменты тишины в начале и конце файла. Но это проблема именно Flash, так как это возможно учесть, если в декодере реализовано позиционирование с точностью до сэмпла (я сам такое делал, не на Flash).