Просмотр полной версии : Как определить frame rate
Я вроде просмотрел все возможные методы и свойства объекта MovieClip но не нашел как мне узнать frame rate мувика?. Мне надо загружать аудио а возможны ситуации когда они будут с разным frame rate-ом и чтобы все коректно работало мне надо научиться его корректно определять
Программно это ты не узнаешь.
И что за ситуация при которой аудио будет не корректно работать?
Оригинал написал(а) iNils
Программно это ты не узнаешь.
И что за ситуация при которой аудио будет не корректно работать?
Блин жалко....
А ситуация такая: делаю SWF плеер с интерфейсом как у Винампа примерно. Нужно реализовывать функцию перескока на определные участки. Время задается в секундах я для "прыжка" расчитываю
<номер_кадра>=<кол-во_секунд>*<frame rate>
и потом пишу $player.gotoAndPlay(<номер_кадра>);
обычно у SWF-ок frame rate равняется 32, но иногда могут попадаться с 12 и тогда косяки
Если swf с музыкой создаешь ты сам, то опиши в них переменную с нужными данными.
:))) было бы все так просто я бы и не парился :)))
Проиграй мувик с определенным количеством кадров. Затем рассчитай кол-во кадров в секунду, воспользовавшись замеренным временем
1. getTimer() в первом кадре
2. getTimer() в последнем (например, 10-ом кадре)
Разница = delta от 2-го и 1-го getTimer'а
fps = 10/delta;
ЗЫ Чем больше кадров, тем больше точность определения FPS )(ИМХО)
ладно буду делать так... по умолчанию 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(). И будет ли это работать в даном случае
А почему именно 32 кадра?
Оригинал написал(а) Kenred
Нужно реализовывать функцию перескока на определные участки. Время задается в секундах я для "прыжка" расчитываю
<номер_кадра>=<кол-во_секунд>*<frame rate>
Если я правильно понял, то сам звук импортируется в отдельные SWF в режиме дизайна. А "функция перескока на определные участки" - это управление ЗВУКОМ (поиск определенного места композиции, например) из родительской SWF.
Вопрос таков: есть ли возможность не связываться с SWF в которые встроен звук, а использовать прямую загрузку mp3 в объект Sound?
Nox Noctis
10.09.2004, 13:54
насколько я понимаю, вопрос не в том чтобы узнать фреймрейт мувика, а в том чтобы его проиграть в соответствии со скоростью звуковой дорожки. если можно узнать какой фпс НАДО получить - то есть замечательная функция setInterval :)
someClip.id = setInterval(someClip, "nextFrame", 1000/fps)
Оригинал написал(а) iNils
А почему именно 32 кадра?
ну новая библиотека которую на сайте будут использовать ставит именно 32. Но иногда берут сделанные старыми версиями и там то 12 то еще че-то...
Оригинал написал(а) dimarik
Если я правильно понял, то сам звук импортируется в отдельные SWF в режиме дизайна. А "функция перескока на определные участки" - это управление ЗВУКОМ (поиск определенного места композиции, например) из родительской SWF.
Вопрос таков: есть ли возможность не связываться с SWF в которые встроен звук, а использовать прямую загрузку mp3 в объект Sound?
Сам звук конвертируется из mp3 в swf отедльной библиотекой. И весь смысл проекта в том что играются именно SWF -ки.
Оригинал написал(а) Nox Noctis
насколько я понимаю, вопрос не в том чтобы узнать фреймрейт мувика, а в том чтобы его проиграть в соответствии со скоростью звуковой дорожки. если можно узнать какой фпс НАДО получить - то есть замечательная функция setInterval :)
someClip.id = setInterval(someClip, "nextFrame", 1000/fps)
нет не так...
там надо всякие расчеты проводить типа сколько секуд будет отображаться на какой кадр прыгнуть и тд а для этого нужно знать frame rate
Объясните, пожалуйста, зачем делать "перескоки", обладая при этом знаниями фреймрейта? Это будет VisualisationStudio?
Nox, что такое "скорость звуковой дорожки"??
Есть основная SWF-плэйер, в неё грузятся XML-playlist, затем по этому листу прогружаются последовательно музыкальные композиции-SWF. Управление playhead композиций осуществляется из основной SWF, имеющей fps=32. Правильно ли я уловил суть?
Вспоминаем, что fps (каким бы он ни был) всех мувов загруженных в основную SWF преващается в fps этой основной SWF. Так сказала Macromedia.
Оригинал написал(а) dimarik
Объясните, пожалуйста, зачем делать "перескоки", обладая при этом знаниями фреймрейта? Это будет VisualisationStudio?
ну вот есть файл в нем например 10 минут звука.... файл разит на фрагменты, например первые минуты одна часть доклада, потом другая, третья и т.д.
Надо чтобы кнопки Вперед Назад перепрыгивали не по различным файлам (как в обычном ВинАмпе) например а по этим фрагментов внутри одного клипа.
Nox Noctis
10.09.2004, 14:24
Оригинал написал(а) dimarik
Nox, что такое "скорость звуковой дорожки"?? скорость подачи звуков, с которыми требуется синхронизировать анимацию. например если надо сделать lipSync - то речь о скорости звучащего текста...
ну вот есть файл в нем например 10 минут звука.... файл разит на фрагменты, например первые минуты одна часть доклада, потом другая, третья и т.д.ну вот есть файл в нем например 10 минут звука.... файл разит на фрагменты, например первые минуты одна часть доклада, потом другая, третья и т.д.
А анимация (video) там тоже есть или только звук?
Чекпоинты (начала фрагментов звука доклада) задаются в подгружаемом SWF или в XML?
И все-таки как быть с Вспоминаем, что fps (каким бы он ни был) всех мувов загруженных в основную SWF преващается в fps этой основной SWF. Так сказала Macromedia.?
Оригинал написал(а) dimarik
А анимация (video) там тоже есть или только звук?
Чекпоинты (начала фрагментов звука доклада) задаются в подгружаемом SWF или в XML?
чекпоинты задаются в XML...
И все-таки как быть с ?
Вспоминаем, что fps (каким бы он ни был) всех мувов загруженных в основную SWF преващается в fps этой основной SWF. Так сказала Macromedia.
а вот это уже интереснее... Но я вот ща пошел поставил в плеере fps 12 и запустил, а музыка была с 32 fps.... и когда я прыгал по фрагментам то он прыгал по ним как будто их 32. Вот....
Я пока могу сказать что на данный момент решил проблему. Тем что по дефолту ставлю 32 а если в XML указано другой fps то беру его.
Но тема интересная и вдруг кому еще сгодиться
Каким образом ты узнаёшь FPS?
Оригинал написал(а) dimarik
Каким образом ты узнаёшь FPS?
если это вопрос мне то говорю еще раз...
по дефолту = 32
если в XML-ке с плейлистом указан другой беру его.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.