Форум 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)
-   -   [Sound] Прерывание загрузки. (http://www.flasher.ru/forum/showthread.php?t=81761)

mssn 27.06.2006 11:57

[Sound] Прерывание загрузки.
 
Привет, как можно прервать загрузку mp3 файла, после того как она началась? Звук грузиться как потоковый.

Reijii 27.06.2006 12:02

должно помочь

Цитата:

close() : Void

Stops playing all data on the stream, sets the NetStream.time property to 0, and makes the stream available for another use.

mssn 27.06.2006 12:17

Но я загружаю звук через экземпляр Sound:
Код:

sound.loadSound(url, true);
И потом, NetStream для работы c .flv

Reijii 27.06.2006 12:18

откуда ж я знал )) а вообще хелп полезная штука )

Цитата:

stop([linkageID:String]) : Void
Stops all sounds currently playing if no parameter is specified, or just the sound specified in the idName parameter.

mssn 27.06.2006 12:40

Конечно, я пытался использовать stop(), при этом проигрывание останавливается а загрузка продолжается. Вот код:
Код:

import mx.utils.Delegate;
import classes.*;
class ManageSound {
        public var url:String;
        public var autostart:Boolean;
        public var icon:MovieClip;
        public var sound:Sound;
        public var container:MovieClip;
        private var __defined:Boolean;
        private var __checkProgressIID:Number;
        function ManageSound($url:String, $autostart:String, $icon:MovieClip) {
                url = $url;
                autostart = $autostart.toLowerCase() == "yes" ? true : false;
                icon = $icon;
                init();
        }
        public function init():Void {
                icon.onRelease = Delegate.create(this, onReleaseIcon);
                __defined = false;
                _root.preloader._visible = false;
                if (url != undefined && url != "") {
                        icon._mark = "enabled";
                        icon.enabled = true;
                        if (autostart) {
                                _loadSound();
                        } else {
                                icon._mark = "disabled";
                        }
                } else {
                        icon._mark = "disabled";
                        icon.enabled = false;
                }
        }
        private function _loadSound():Void {
                if (!__defined) {
                        container = _root.createEmptyMovieClip("container", 0.);
                        sound = new Sound(container);
                        sound.onLoad = Delegate.create(this, onSoundLoad);
                        sound.onSoundComplete = Delegate.create(this, onSoundComplete);
                        sound.loadSound(url, true);
                        __checkProgressIID = setInterval(this, "checkProgress", 200);
                        _root.preloader._visible = true;
                }
                sound.start();
        }
        private function _stopSound():Void {
                sound.stop();
                if (!__defined) {
                        //*** загрузка не закончена, ее нужно прекратить ***//
                        /*/
                        container.unloadMovie();
                        container.removeMovieClip();
                        sound.loadSound("not realy url");
                        delete sound;
                        //*/
                }
        }
        public function onReleaseIcon():Void {
                if (icon._mark == "enabled") {
                        _stopSound();
                        icon._mark = "disabled";
                } else {
                        _loadSound();
                        icon._mark = "enabled";
                }
        }
        public function checkProgress():Void {
                var percents = Math.floor((sound.getBytesLoaded() / sound.getBytesTotal()) * 100);
                _root.preloader.gotoAndStop(percents);
                if (percents == 100) {
                        _root.preloader._visible = false;
                }
        }
        private function onSoundComplete():Void {
                sound.start();
        }
        private function onSoundLoad(success:Boolean):Void {
                __defined = true;
                clearInterval(__checkProgressIID);
                _root.preloader._visible = false;
                if (success) {
                } else {
                        _global.error = "1001";
                        icon._mark = "disabled";
                        icon.enabled = false;
                }
        }
        public function toString():String {
                return "[object MangeSound]";
        }
}


Последовательность вызовов функций прибл. такая:
init()->_loadSound()->onReleaseIcon()->_stopSound()|__defined=false|

В _root :
Код:

import classes.*;
_root.soundUrl = "sounds/tenors.mp3";
_root.soundAutoStart = "no";
var sound_manager:ManageSound = new ManageSound(_root.soundUrl, _root.soundAutoStart, _root.icon);


iNils 27.06.2006 12:48

1. Не надо путать [quote][/quote] с [code][/code]
2. Если вы воспользуетесь поиском по форуму, то найдете ответы.

mssn 27.06.2006 14:04

Нашел вот : sound.loadSound(null, true);
но у меня такой вызов не остановил загрузку..


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

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