Просмотр полной версии : Не стартует звук после Stop()
такая проблема, подгружаю звуковой файл:
muza = new Sound();
muza.loadSound("e:\\test.mp3", _root);
muza.setVolume(50);
muza.start();
потом одной кнопкой его стоплю и стартую:
on (release) {
if (_root.sbutton.text=="STOP") {
_root.sbutton.text=" ON "; muza.stop();
} else {
_root.sbutton.text="STOP"; muza.start(0);
}
}
так вот останавливаться он останавливается... а вот играть потом не хочет. Текст меняется с Стоп на Он и обратно... а звук не стартует.
Помогает только опять, перед muza.start(0); поставить muza.loadSound("e:\\test.mp3", _root); но это ж не тема.... что не так делаю, подскажите плз.
ну что за лажа.... ни кто не знает? должно ж работать, а не хо...
Флэш у меня МХ 6.0
motor4ik
28.02.2006, 17:49
а если так сделать
muza.play
а если так сделать
muza.play
молчит... хоть ине ругаецца... но так же молчит как и при muza.start
sergwizard
28.02.2006, 17:57
Вот так попробуй.
И еще: внимательно прочти в хэлпе о LoadSound("URL",isStreaming).
Вот так попробуй.
И еще: внимательно прочти в хэлпе о LoadSound("URL",isStreaming).
чтение хелпа не помогло.
твоя флешина работает, но у меня не открывается... можно мне "исходный текст" или в ХП 6.0 версии
motor4ik
28.02.2006, 18:33
Короче не парься :-)
Вопервых грузани этот файл в бибку т.е. в мувик, дай линкадже например snd
function PlaySound(){
muza = new Sound();
muza.loadSound("snd", _root);
muza.setVolume(50);
muza.start();
}
on (release) {
if (_root.sbutton.text=="STOP") {
_root.sbutton.text=" ON "; _root.PlaySound();
} else {
_root.sbutton.text="STOP"; muza.start(0);
}
}
sergwizard
28.02.2006, 19:46
Моторчик, ну зачем ты всякую ерунду пишешь? Уж если ты подгрузил файл в библиотеку, то используй не loadSound, а attachSound. Тем более, что ты тоже неправильно используешь loadSound. И еще посмотри, что у тебя делает кнопка?
2 Jema, держи.
motor4ik
01.03.2006, 11:36
да, сорри извиняюсь ахинею какую-то писал...был невминяем. больше не буду :D
спасиб огромное.. работает.
но появилась другая проблема.
Количество повторов (мне нужно бесконечно)
Когда я внедряю звук в файл, я могу в свойствах указать количество повторов. А когда подгружаю отдельно... он у меня играет только 1 раз.
А хелпе не нашел свойства... подскажите как указать ему количество повторов или вообще сказать "играть бесконечно" =)
KidsKilla
01.03.2006, 14:50
никак. но:
snd.onSoundComplete = function(){
this.start()
}
motor4ik
01.03.2006, 15:09
как это никак?
Синтаксис
mySound.start([secondOffset, loop])
Параметры
secondOffset Необязательный параметр, который позволит Вам начать проигрывание звука с указанной точки. Например, если у Вас есть 30-и секундный звук и Вы хотите, чтобы он начал играть посредине, укажите 15 для параметра secondOffset. Звук не остановиться на 15 секунд, а сразу начнет играть с 15-и секундной метки.
loop Необязательный параметр, который позволит Вам указать, сколько раз нужно проиграть звук в цикле.
motor4ik
01.03.2006, 15:13
т.е. mySound.start(0, 100000000000)
мда.... плохо....
может у меня руки не так стоят.. или флэш... но при
muza.start(0, 100);
играет ОДИН РАЗ и все...
вариант
snd.onSoundComplete = function(){
this.start()
}
помогает повторять звук бесконечно... НО (очень огромная НО)
между повтором образовывается очень неприятный зазор где-то в 500 мс.
Пытался это исправить вот таким изворотом:
if (muza.position>muza.duration-200) {
muza.start();
}
пауза стала немного меньше.. но всеравно никуда не годится...
при увеличении с -200 на -500 начинает уже обгрызать конец... и всеравно пауза присуцтвует.
чем меня вначале флеш обрадовал... так это тем что например вот этот "луп" loop_01.mp3 (280 kb) (http://new.caraudio.com.ua/images/loop_01.mp3) он "соединял" конец с началом ОЧЕНЬ качественно.. лучше винампа. Но это я проверял на ВСТРОЕЕНОМ звуковом файле во флешку... а вот если ёё подгружать.. возникает такая проблемка =(
еще идеи будут?
motor4ik
01.03.2006, 15:37
с обгрызанием проблему по-моему так и не решили...почему у тебя не работает луп, не знаю, у меня все в поряде, дай исходник поглазеть или код которым ты все это делаешь.
исходник нехороший 7 метров весит (внедрял туда звук, почистил библиотеку... не помогает)
но я в первом кадре просто делаю
num=1+random(2);
muza = new Sound();
muza.loadSound("images/loop_0"+num+".mp3", 1);
muza.setVolume(50);
muza.start(0, 100);
test.text="images/loop_0"+num+".mp3";
в остальных 2-х кадрах ничего кроме как в третем
gotoAndPlay(2);
фсе....
ну народ? что... никто фоновую музыку не подгружал никогда из файлов...
Только такую - которая не имеет ни начала ни конца... так называемый loop.
sergwizard
02.03.2006, 00:05
Jema, просто перепиши в моем исходнике функцию, вот так:
function loadMus(){
muza = new Sound();
muza.loadSound("e:\\test.mp3",1);
muza.setVolume(50);
muza.start();
muza.onSoundComplete = loadMus;
}
и все. :)
Но учти, "зазор" все равно останется. Он возникает из-за того, что ты ПОДГРУЖАЕШЬ внешний файл. При attachSound() легко можно избавиться от этого зазора.
motor4ik
02.03.2006, 11:25
при attachSound() будет точно такой же зазор, поверьте по собственному опыту знаю
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.