PDA

Просмотр полной версии : Остановка одного мувика из другого


Kenred
01.09.2004, 15:18
Здравствуйте, я в Flash вобще ничего не понимаю, но раз сказали надо то надо.
Вобщем ситуация: переделываю mp3 плеер.
(Вот тут видимо исходный если кому интересно http://ground.gr/play/index_en.php?p=19 )
Но надо использовать не как мп3 а как swf плеер то есть он играет музыку из swf файлов которые были переделаны в свое время из mp3. Почему так не спрашивайте, сам не знаю.
Ну так вот надо было сделать чтобы был seek по файлу с музыкой, т.е. кнопки >> и << вместо перескакивания по разным файлом скачут по одному по фрагментам. фрагменты задаются в XML.
Сейчас приделываю такую штуку что по клику на ссылку на старнице плеер должен проиграть только определеный фрагмент. Ну чтобы он начал играть с определеного момента я как-то разобрлся .gotoAndPlay(). А вот как заставить его остановаиться вовремя? Ну то есть я например знаю номер кадра на котором нужно тормозить swf-ку со звуком, а вот как это сделать?
заранее спасиб

MoHaX
01.09.2004, 15:52
stop();

Kenred
01.09.2004, 16:03
Оригинал написал(а) MoHaX
stop();

да ну?? правда???

а как я блин пойму что в данный момент SWF-ка со звуком находится именно на том кадре на котором мне его остановить надо??

Kenred
01.09.2004, 16:27
тока не надо отвечать типа .currentframe понятно что мне надо это значение проверить, тока как?
Поставить в какой-то кадр бесконечный цикл типа
while (<не знаю что>)
{
if ($loader._currentframe == stopFrame)
$loader.stop();
}
? вобщем замута в том чтобы как-то из главного мувика следить за дочерним

FreeLander
01.09.2004, 16:31
Оригинал написал(а) Kenred
а как я блин пойму что в данный момент SWF-ка со звуком находится именно на том кадре на котором мне его остановить надо?? как конкретно ты это сделаешь - не знаю. А использовать для этого можно свойство MovieClip._currentframe.

я бы сделал в подгружаемых файлах по событию onEnterFrame отсылку значения _currentframe в определённую переменную родительского мувика, а там уже отслеживал бы эту переменную при помощи метода watch.

Kenred
01.09.2004, 16:35
Оригинал написал(а) FreeLander
как конкретно ты это сделаешь - не знаю. А использовать для этого можно свойство MovieClip._currentframe.

я бы сделал в подгружаемых файлах по событию onEnterFrame отсылку значения _currentframe в определённую переменную родительского мувика, а там уже отслеживал бы эту переменную при помощи метода watch.

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

FreeLander
01.09.2004, 16:41
Оригинал написал(а) Kenred
да в том то и херня что ниче эти swf-ки мне отсылать не будут... Их как какой-то прогой в mp3 конвертнули так и все... дальше мне приходится возитьяс с ними.. что там внутри для меня черный ящик как ты и говорил, только не while. Цикл будет полностью выполняться в течение кадра, иными словами, пока цикл не закончится, следующий кадр проигрываться не начнёт. Поэтому тебе надо сделать какую-нибудь проверяющую функцию и повеситть её на setInterval.

Kenred
01.09.2004, 17:16
Оригинал написал(а) FreeLander
как ты и говорил, только не while. Цикл будет полностью выполняться в течение кадра, иными словами, пока цикл не закончится, следующий кадр проигрываться не начнёт. Поэтому тебе надо сделать какую-нибудь проверяющую функцию и повеситть её на setInterval.
отлично setInterval то что надо!!! спасибо...
осталось тока с другими косяками разобраться....

FreeLander
01.09.2004, 18:34
кидай сюда косяки свои - вместе раскурим))))).

нет, серьёзно - пиши если чего
удачи

nuran
02.09.2004, 16:34
Привет всем, возможно твои swf делались с помощью swiftMP3?
http://swift-tools.net/

Kenred
07.09.2004, 16:01
блин делаю два вызова setInterval один чтобы как я и писал остановить мувик когда дойду до конца фрагмента, а обработчик второго setInterval проверяет чтобы мувик со звуком успел загрузится до нужного момента чтобы начать его проигрывать... ну то есть, анпример, надо проигрывать с 15 секунды это будет 15*32 = 480 кадр и я кароче делаю проверку что _currentframe мувика со звуком болше этих 480.. атк вот у меня вызовы этой функции происходят тока несколько раз...а потом когда начинается проверка на конец фрагмента, то больше не вызывается :(((

Kenred
07.09.2004, 17:04
блин вернее не _currentframe а _framesloaded

Kenred
07.09.2004, 19:06
ладно всем спасибо... разобрался сам ;)