Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Зацикливание звука (http://www.flasher.ru/forum/showthread.php?t=124848)

fortman 10.05.2009 23:19

Зацикливание звука
 
Привет всем!
Зацикливаю звук так
Код AS1/AS2:

music.start(0, 99999);

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

Код AS1/AS2:

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

Цитата:

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

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

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

Mnilionic 11.05.2009 01:28

Код AS1/AS2:

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).


Часовой пояс GMT +4, время: 15:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.