Форум 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)
-   -   Потоковая загрузка аудио. Вопрос о потоках. (http://www.flasher.ru/forum/showthread.php?t=110966)

Ведьмак 12.04.2008 20:08

Потоковая загрузка аудио. Вопрос о потоках.
 
Всем привет!

Такой вопрос - есть список mp3, кликаем по какой-нибудь и она начинает потоково загружаться, кликаю по другой - первая замолкает и начинает грузиться другая.. Вот только поток первой не прерывается, а продолжает жрать трафик, хотя это mp3 уже не слушаем..

Подскажите можно ли прервать поток загрузки?


Код:

function loadSong(mc:MovieClip) {
my_sound = new Sound();
my_sound.loadSound(mc.url,true);
}


Манюня 14.04.2008 01:34

Скорее всего просто когда вызываешь другой трек, нужно остановить предыдущий Sound.stop(файл);

Ведьмак 14.04.2008 02:34

нет, все равно продолжате качать..

даже если в эту же переменную my_sound начать грузить новый файл, старый поток все равно не прерывается..

alekslitvinenk 14.04.2008 03:12

Средствами AS2 нельзя прервать загрузку файла, который уже начал загружаться. Такая возможность есть в AS3...

Mr. Fixit 14.04.2008 03:50

Цитата:

Средствами AS2 нельзя прервать загрузку файла, который уже начал загружаться.
Уверен? А myLoader.loadClip(null, someRegion) тебе что-то говорит?

alekslitvinenk 14.04.2008 04:04

Ну все-равно это не столь красиво и лаконично как в AS3...

Mr. Fixit 14.04.2008 04:36

Ну согласен, на то и новее версия языка относительно АС2.
Но в данном случае, речь не о возможностях АС3)

alekslitvinenk 14.04.2008 04:48

А вообще, у меня просто из головы вылетело, что остановить загрузку можно просто передав пустой параметр :rolleyes:

Ведьмак 14.04.2008 12:09

ммм.. т.е. насколько я понимаю делать загрузку mp3 при помощи myLoader.loadClip? а не my_sound.loadSound(url,true);?

Stone 14.04.2008 13:44

Цитата:

Сообщение от Mr. Fixit
Уверен? А myLoader.loadClip(null, someRegion) тебе что-то говорит?


загрузка не остановится - проверено.

iNils 14.04.2008 14:32

Цитата:

Сообщение от Stone
загрузка не остановится - проверено.

Это в сафари глюки. Остальные браузеры останавливают.

Stone 14.04.2008 14:38

Цитата:

Сообщение от iNils
Это в сафари глюки. Остальные браузеры останавливают.

год назад этот глюк был у всех.
ща не проверял.

iNils 14.04.2008 14:52

У всех работало, а у вас нет?

Stone 14.04.2008 15:23

не знаю как у всех, но мои тесты показали, что если передать null как параметр для загрузки, сам процесс загрузки не прерывается. и запрашиваемый первоначально файл можно благополучно найти в темпе.

iNils 14.04.2008 15:26

... в недокаченом ввиде. Единственно, что нельзя таким образом прервать, это загрузку xml.

Stone 14.04.2008 15:59

может мы про разное говорим?

Код:

var mcl:MovieClipLoader=new MovieClipLoader();

mcl.loadClip('test.swf',mc);
mcl.loadClip(null,mc);

function onEnterFrame(){
        info.text=mc.getBytesTotal()+ ' '+mc.getBytesLoaded();
}


iNils 14.04.2008 16:16

Про разное, я про обычную загрузку, а для MovieClipLoader нужно использовать
Код:

mcl.unloadClip (mc);

Stone 14.04.2008 17:20

unloadClip - выгружает загруженное, загрузку не прерывает. во всяком случае в лисе.

loadMovie - нельзя отследить отсутствие файла на сервере, ошибку загрузки.

2 iNils просто я мучался с прелоадером, в который можно запихнуть массив файлов, а он (прелоадер) узнает их общий размер и покажет единую полосу загрузки. так ничего и не получилось. остановить загрузку не получается и в ИЕ и в Лисе. может я конечно что и пропустил?

Ведьмак 14.04.2008 18:29

2 Stone: недавно как раз сделал такую загрузку, видать вы что-то пропустили все таки..

MovieClipLoader это конечно хорошо, может я что-то не знаю, но АУДИО файлы да еще и с потоковым воспроизведением мы им не загрузим..

Интересует именно загрузка аудио и loadSound..

Stone 14.04.2008 18:35

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

Ведьмак 14.04.2008 21:16

все что я сделал - это общий прелоадер на основе информации о процессе загрузке 18 различных картинок.. загрузку отдельных .loadClip я не прерывал...

Но все таки хотелось вернуться к теме о потоковой загрузке именно mp3.. и возможности прерывания потоков (за исключением перезагрузки страницы :) )...

iNils 14.04.2008 21:29

Потоковый звук прерывет загрузку после вызова метода stop.

Ведьмак 14.04.2008 21:43

правда? проверял включая имитацию загрузки в самом флэше - поток не обрывается..

Причем, насколько знаю, паузы в флэше нет, ее обычно реализуют через "стоп", а потом запуск воспроизведения с той позиции где было остановлено... всегда этим пользуюсь на сайтах - чтобы не слушать или смотреть рывками, всегда нажимаю "паузу" и жду когда загрузится весь ролик или звук полностью.. вывод, что поток не обрывается..

iNils 14.04.2008 21:46

Цитата:

Сообщение от Ведьмак
проверял включая имитацию загрузки в самом флэше

Он врет.

Ведьмак 15.04.2008 01:25

хорошо если так... проверю в сети при помощи FireBug..

iNils 15.04.2008 01:38

Для таких вещей IE + HTTPwatch гораздо удобнее.

Ведьмак 15.04.2008 02:01

мда.. Firebug не показывает весь ход загрузки, только запросы и ответы..

HTTPWatch бесплатная штука (вроде IEDevToolBar)?
Если не сложно можно линк откуда можно скачать?

iNils 15.04.2008 02:08

http://www.httpwatch.com/download/
Basic - бесплатный, а Professional - платный.

Ведьмак 15.04.2008 02:10

спасибо большое ) ценная софтина

Czar 15.04.2008 12:57

таксь.. наслежу ещё и в этой теме:)
я уже спрашивал об остановке потокового звука, в общемто эту проблему решил...но вот похожу сходная ситуация и у меня:
при нажатии на кнопку начинает играть трэк(потоковая загрузка) всёотлично...и кнопку стоп когда нажимашь, то оно останавливается без проблем...
НО если прослушивать достаточное прямя, необходимое для полного скачивания трэка, то проигрываемяй трэк обрывается и начинает играть заново:((
как можно это глюк извлечь???

Ведьмак 15.04.2008 14:47

скорее всего в коде что-то вроде
Код:

my_sound.onLoad = function() {
my_sound.play(); }

такой пример был в хэлпе, вы его наверное и взяли..

Czar 15.04.2008 15:38

да..из примера брал..и что с этим делать??
Код:

var flag:Boolean;
flag = false;

_root.playstop.onRelease = function() {
        if (flag) {
                _root.playstop.gotoAndStop(1);
                delete _global.my_sound;
                flag = false;
        } else {
                _global.my_sound = new Sound();
                flag = true;
                _root.playstop.gotoAndStop(2);
                _global.my_sound.loadSound(_level0.pathToSong,true);//_level0.pathToSong  'http://adm.umuza.com/01.07.mp3'
                _global.my_sound.onLoad = function(success:Boolean) {
                if (success) {
               
                _global.my_sound.start();
               
                }
                };
        }

};

вот сам код...

Ведьмак 15.04.2008 15:54

просто убрать эту часть
Код:

_global.my_sound.onLoad = function(success:Boolean) {
        if (success) {
                _global.my_sound.start();
                }
}


Czar 15.04.2008 17:18

премного благодарен.
УРА УРА


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

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