Форум 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=139600)

rainbowrussia 07.05.2010 06:08

Метроном фиксированный? Если да, то можно попробовать дополнить файл тишиной до нужной длины и сделать:

Код:

mySound = new Sound();
mySound.attachSound("chpok");
mySound.start(0, 200);

На такое воспроизведение, вроде бы, не влияет почти ничего, в отличает от интервалов, таймера, кадров.

Ну а если интервал метронома произволен, то видел в сети программые генераторы звука на флеше, то есть паузу можно программно выставить и запустить звук.

А у вас ко звуку метронома изображение разве никакое не привязано?

UPD. Ну и в догонку еще один вариант - отсчитывать интервалы на javascript (setTimeout) и запускать функцию во флеше, проигрывающую звук (вроде так можно). Как тут будет с точностью не знаю - не проверил.

etc 07.05.2010 08:06

Цитата:

Сообщение от rainbowrussia (Сообщение 906516)
Как тут будет с точностью не знаю - не проверил.

Ещё хуже.

wvxvw 07.05.2010 18:16

Ок... вобщем, ситуация примерно следующая. Когда вы начинаете во флеше воспроизводить звук, флешу нужно получить систему. На то, чтобы ее получить уходит время. Это время может быть разным т.как. никакая ось вам прям сразу напрямую доступ к девайсу не даст.
Точность таймера и всяких интервалов во флеше колеблется в пределах 10 миллисекунд, на то, чтобы получить систему, на разных осях может уйти и до 100 миллисекунд... Это значит, что вариант с таймерами отпадает в принципе.
Но, если флеш будет постоянно играть PCM звук (для MP3 у него особая схема синхронизации), то система у него будет постоянно. Если звук встроенный, то можно добится вполне сносного результата... Вы никогда не сможете добится, чтобы воспроизведение началось именно по клику на кнопке, например, но добится того, чтобы интервалы впоследствии были ровными в принципе можно.
Я бы наверное все-таки попробовал это делать на AS3 под десятый плеер с использованием SampleDataEvent, не то, чтобы оно было так уж сильно лучше, но все же... Еще есть вариант - в 10.1 добавили возможность подгружать байты NetStream'у, я это еще не пробовал, и не знаю как там с синхронизацией, но смысл попробовать думаю есть.

VVall 07.05.2010 19:33

С SampleDataEvent всё будет очень ровно.

wvxvw 07.05.2010 21:12

Если нужно только один звук играть - то да, а если нужно несколько синхронизировать - то нет. Т.как не извесно, и не возможно рассчитать время которое пройдет между play() и тем, когда действительно начнется воспроизведение.

VVall 07.05.2010 22:06

Несколько можно смешать программно, играя через один поток. Это медленно.


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

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