Форум 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)
-   -   не играет звук в плеере, а во FLASH IDE играет (http://www.flasher.ru/forum/showthread.php?t=104671)

Скрипун 29.11.2007 19:26

не играет звук в плеере, а во FLASH IDE играет
 
Добрый день. загружаю звук, после загрузки проигрываю. во Flash все работает, а когда открываю плеером локальным, то ниче не играет. что б могло быть? и как поправить?

Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;

//btn
sound_on_off_btn.onPress = function() {
        this.play();
        if(this._currentframe == 1) {
                stopSound();
        }
        else {
                playSound();
        }
};

var sound:Sound = new Sound();

//load xml and play sound
var xml:XML = new XML();
xml.load("music.xml");
xml.ignoreWhite = true;
//var owner:MovieClip = this;
xml.onLoad = function() {
        var sound_url:String = xml.firstChild.childNodes[0].attributes.url;
        url_mp3.text = sound_url;
        sound.loadSound(sound_url, false);
       
        sound.onLoad = function () {
                sound.start(0,999);
        }
};



function playSound() {
        var obj:Object = {num:0};

        var t:Tween = new Tween (obj, "num", Strong.easeOut, sound.getVolume(), 100, 2, true);
       
        t.onMotionChanged = function () {
                sound.setVolume(obj.num);
        }
       
}

function stopSound() {
        var obj:Object = {num:0};

        var t:Tween = new Tween (obj, "num", Strong.easeOut, sound.getVolume(), 0, 2, true);
       
        t.onMotionChanged = function () {
                sound.setVolume(obj.num);
        }
}


iNils 29.11.2007 19:31

Значит пошли легким путем, поиском лень пользоваться.

Ваша проблема в том, что для звука (вообще заведите это правило и для XML и для LoadVars) сначала надо объявлять метод для обработки события onLoad, а уже потом грузить. А не наоборот.

Скрипун 29.11.2007 19:48

Если я правильно Вас понял.... то у меня вот такой код:

Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;

var sound:Sound = new Sound();



function loadSound() {
        var sound_url:String = xml.firstChild.childNodes[0].attributes.url;
        sound.loadSound(sound_url, false);
        sound.onLoad = function () {
                sound.start(0,999);
        }
}

///////////////////////////
function playSound() {
        var obj:Object = {num:0};

        var t:Tween = new Tween (obj, "num", Strong.easeOut, sound.getVolume(), 100, 2, true);
       
        t.onMotionChanged = function () {
                sound.setVolume(obj.num);
        }
       
}

function stopSound() {
        var obj:Object = {num:0};
        var t:Tween = new Tween (obj, "num", Strong.easeOut, sound.getVolume(), 0, 2, true);
        t.onMotionChanged = function () {
                sound.setVolume(obj.num);
        }
}
//btn
sound_on_off_btn.onPress = function() {
        this.play();
        if(this._currentframe == 1) {
                stopSound();
        }
        else {
                playSound();
        }
};



//load xml and play sound
var xml:XML = new XML();
xml.load("music.xml");
xml.ignoreWhite = true;
xml.onLoad = loadSound;

но у меня не работает...

как должно быть?

iNils 29.11.2007 19:56

Сначала onLoad, потом load:
Код:

sound.onLoad = function () {
        sound.start(0,999);
}
sound.loadSound(sound_url, false);

Код:

xml.ignoreWhite = true;
xml.onLoad = loadSound;
xml.load("music.xml");


Скрипун 29.11.2007 20:02

Большая благодарность... в дальнейшем так и буду писать.... :victory:


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

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