Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как определить frame rate (http://www.flasher.ru/forum/showthread.php?t=62906)

Kenred 10.09.2004 10:57

Как определить frame rate
 
Я вроде просмотрел все возможные методы и свойства объекта MovieClip но не нашел как мне узнать frame rate мувика?. Мне надо загружать аудио а возможны ситуации когда они будут с разным frame rate-ом и чтобы все коректно работало мне надо научиться его корректно определять

iNils 10.09.2004 11:38

Программно это ты не узнаешь.
И что за ситуация при которой аудио будет не корректно работать?

Kenred 10.09.2004 12:21

Цитата:

Оригинал написал(а) iNils
Программно это ты не узнаешь.
И что за ситуация при которой аудио будет не корректно работать?

Блин жалко....
А ситуация такая: делаю SWF плеер с интерфейсом как у Винампа примерно. Нужно реализовывать функцию перескока на определные участки. Время задается в секундах я для "прыжка" расчитываю
<номер_кадра>=<кол-во_секунд>*<frame rate>

и потом пишу $player.gotoAndPlay(<номер_кадра>);
обычно у SWF-ок frame rate равняется 32, но иногда могут попадаться с 12 и тогда косяки

iNils 10.09.2004 12:32

Если swf с музыкой создаешь ты сам, то опиши в них переменную с нужными данными.

Kenred 10.09.2004 12:41

:))) было бы все так просто я бы и не парился :)))

dimarik 10.09.2004 13:30

Проиграй мувик с определенным количеством кадров. Затем рассчитай кол-во кадров в секунду, воспользовавшись замеренным временем

1. getTimer() в первом кадре
2. getTimer() в последнем (например, 10-ом кадре)

Разница = delta от 2-го и 1-го getTimer'а

fps = 10/delta;

ЗЫ Чем больше кадров, тем больше точность определения FPS )(ИМХО)

Kenred 10.09.2004 13:33

ладно буду делать так... по умолчанию 32 а если в XML-ке с плейлистом другой то буду испольовать значения другой

Плейлист создается таким образом
Код:

_global.itemNr = playXML.firstChild.childNodes.length;
var myItem = playXML.firstChild.firstChild;
_global.playlist = new Array();
               
for (var i = 1; i <= _global.itemNr; i++) {
        _global.playlist[i] = myitem.attributes;
        myItem = myitem.nextSibling;
}

а как мне узнать что аттрибут framRate был задан ?
на ПХП было я бы сделал примерно так

if (isset(_global.playlist[k].frameRate))
_global.frameRate = _global.playlist[k].frameRate;
else
_global.frameRate = 32;
а какэто сдлетаь на Flash? кароче говоря аналог функции isset(). И будет ли это работать в даном случае

iNils 10.09.2004 13:43

А почему именно 32 кадра?

dimarik 10.09.2004 13:47

Цитата:

Оригинал написал(а) Kenred

Нужно реализовывать функцию перескока на определные участки. Время задается в секундах я для "прыжка" расчитываю
<номер_кадра>=<кол-во_секунд>*<frame rate>

Если я правильно понял, то сам звук импортируется в отдельные SWF в режиме дизайна. А "функция перескока на определные участки" - это управление ЗВУКОМ (поиск определенного места композиции, например) из родительской SWF.
Вопрос таков: есть ли возможность не связываться с SWF в которые встроен звук, а использовать прямую загрузку mp3 в объект Sound?

Nox Noctis 10.09.2004 13:54

насколько я понимаю, вопрос не в том чтобы узнать фреймрейт мувика, а в том чтобы его проиграть в соответствии со скоростью звуковой дорожки. если можно узнать какой фпс НАДО получить - то есть замечательная функция setInterval :)

someClip.id = setInterval(someClip, "nextFrame", 1000/fps)

Kenred 10.09.2004 14:00

Цитата:

Оригинал написал(а) iNils
А почему именно 32 кадра?
ну новая библиотека которую на сайте будут использовать ставит именно 32. Но иногда берут сделанные старыми версиями и там то 12 то еще че-то...

Kenred 10.09.2004 14:01

Цитата:

Оригинал написал(а) dimarik


Если я правильно понял, то сам звук импортируется в отдельные SWF в режиме дизайна. А "функция перескока на определные участки" - это управление ЗВУКОМ (поиск определенного места композиции, например) из родительской SWF.
Вопрос таков: есть ли возможность не связываться с SWF в которые встроен звук, а использовать прямую загрузку mp3 в объект Sound?

Сам звук конвертируется из mp3 в swf отедльной библиотекой. И весь смысл проекта в том что играются именно SWF -ки.

Kenred 10.09.2004 14:04

Цитата:

Оригинал написал(а) Nox Noctis
насколько я понимаю, вопрос не в том чтобы узнать фреймрейт мувика, а в том чтобы его проиграть в соответствии со скоростью звуковой дорожки. если можно узнать какой фпс НАДО получить - то есть замечательная функция setInterval :)

someClip.id = setInterval(someClip, "nextFrame", 1000/fps)

нет не так...
там надо всякие расчеты проводить типа сколько секуд будет отображаться на какой кадр прыгнуть и тд а для этого нужно знать frame rate

dimarik 10.09.2004 14:06

Объясните, пожалуйста, зачем делать "перескоки", обладая при этом знаниями фреймрейта? Это будет VisualisationStudio?

Nox, что такое "скорость звуковой дорожки"??

dimarik 10.09.2004 14:20

Есть основная SWF-плэйер, в неё грузятся XML-playlist, затем по этому листу прогружаются последовательно музыкальные композиции-SWF. Управление playhead композиций осуществляется из основной SWF, имеющей fps=32. Правильно ли я уловил суть?

Вспоминаем, что fps (каким бы он ни был) всех мувов загруженных в основную SWF преващается в fps этой основной SWF. Так сказала Macromedia.

Kenred 10.09.2004 14:22

Цитата:

Оригинал написал(а) dimarik
Объясните, пожалуйста, зачем делать "перескоки", обладая при этом знаниями фреймрейта? Это будет VisualisationStudio?

ну вот есть файл в нем например 10 минут звука.... файл разит на фрагменты, например первые минуты одна часть доклада, потом другая, третья и т.д.
Надо чтобы кнопки Вперед Назад перепрыгивали не по различным файлам (как в обычном ВинАмпе) например а по этим фрагментов внутри одного клипа.

Nox Noctis 10.09.2004 14:24

Цитата:

Оригинал написал(а) dimarik
Nox, что такое "скорость звуковой дорожки"??
скорость подачи звуков, с которыми требуется синхронизировать анимацию. например если надо сделать lipSync - то речь о скорости звучащего текста...

dimarik 10.09.2004 15:50

Цитата:

ну вот есть файл в нем например 10 минут звука.... файл разит на фрагменты, например первые минуты одна часть доклада, потом другая, третья и т.д.ну вот есть файл в нем например 10 минут звука.... файл разит на фрагменты, например первые минуты одна часть доклада, потом другая, третья и т.д.
А анимация (video) там тоже есть или только звук?
Чекпоинты (начала фрагментов звука доклада) задаются в подгружаемом SWF или в XML?

И все-таки как быть с
Цитата:

Вспоминаем, что fps (каким бы он ни был) всех мувов загруженных в основную SWF преващается в fps этой основной SWF. Так сказала Macromedia.
?

Kenred 10.09.2004 16:32

Цитата:

Оригинал написал(а) dimarik

А анимация (video) там тоже есть или только звук?
Чекпоинты (начала фрагментов звука доклада) задаются в подгружаемом SWF или в XML?
чекпоинты задаются в XML...

Цитата:


И все-таки как быть с ?

Вспоминаем, что fps (каким бы он ни был) всех мувов загруженных в основную SWF преващается в fps этой основной SWF. Так сказала Macromedia.
а вот это уже интереснее... Но я вот ща пошел поставил в плеере fps 12 и запустил, а музыка была с 32 fps.... и когда я прыгал по фрагментам то он прыгал по ним как будто их 32. Вот....

Kenred 10.09.2004 16:35

Я пока могу сказать что на данный момент решил проблему. Тем что по дефолту ставлю 32 а если в XML указано другой fps то беру его.

Но тема интересная и вдруг кому еще сгодиться

dimarik 10.09.2004 16:43

Каким образом ты узнаёшь FPS?

Kenred 10.09.2004 16:50

Цитата:

Оригинал написал(а) dimarik
Каким образом ты узнаёшь FPS?
если это вопрос мне то говорю еще раз...
по дефолту = 32
если в XML-ке с плейлистом указан другой беру его.

dimarik 10.09.2004 17:45

Туплю, прости...


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

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