Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.03.2009, 14:14
LanVision вне форума Посмотреть профиль Отправить личное сообщение для LanVision Найти все сообщения от LanVision
  № 1  
Ответить с цитированием
LanVision

Регистрация: Mar 2009
Сообщений: 8
Question Не могу заставить стримиться внешний аудиофайл

Хело.

Вот код:

Код AS1/AS2:
var sound = new Sound();
sound.onLoad = function(success)
{
    if(success)
    {
        trace("Yup, loded");
        sound.start();
    }
    else trace("Sumtin went rong");
}
sound.loadSound("after_all.mp3", true);
По идее, должен начать стримиться и играть файл after_all.mp3, который находится рядом с исполняемым swf. Но не играет. Трейс выдает "Yup, loded", но звука то нет. Если заменить ("after_all.mp3", true); на ("after_all.mp3", false);, то файл загружается и играет, то есть путь к файлу нормальный, файл тоже нормальный, колонки включены ( ). Но мне то надо, чтобы он стримился... Не понимаю...

Спасибо!
__________________
Тут что-то когда-то наверно будет


Последний раз редактировалось LanVision; 20.03.2009 в 14:18.
Старый 20.03.2009, 17:00
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Может, не хватает sound.start()?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.03.2009, 17:50
LanVision вне форума Посмотреть профиль Отправить личное сообщение для LanVision Найти все сообщения от LanVision
  № 3  
Ответить с цитированием
LanVision

Регистрация: Mar 2009
Сообщений: 8
а вот же он, прямо после trace("Yup, loded");. Должен срабатывать в том момент, когда будет скачано достаточно байт песни, чтобы запустить mp3 декомпрессор.
Код AS1/AS2:
    if(success)
    {
        trace("Yup, loded");
        sound.start();
    }
__________________
Тут что-то когда-то наверно будет

Старый 20.03.2009, 18:04
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
onLoad (Sound.onLoad handler)
onLoad = function(success:Boolean) {}

Invoked automatically when a sound loads.
А если так? =)
Код AS1/AS2:
sound.loadSound("after_all.mp3", true);
sound.start();
P.S. А трейс срабатывает после загрузки "достаточного байт песни"?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.03.2009, 21:56
LanVision вне форума Посмотреть профиль Отправить личное сообщение для LanVision Найти все сообщения от LanVision
  № 5  
Ответить с цитированием
LanVision

Регистрация: Mar 2009
Сообщений: 8
1) Не помогает. Как я понимаю, в вашем варианте, скрипт пытается воспроизвести файл сразу после начала загрузки, а это всего доля секунды (особенно, при 50 кадрах в секунду).
2) Да, трейс срабатывает, как ни странно.

Добавлено через 2 минуты
Всё, дошло, сам я дурак. Засунул это всё дело в onEnterFrame(); зачем-то. Сорри, недоглядел.
__________________
Тут что-то когда-то наверно будет

Старый 08.04.2009, 19:02
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 6  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
так при стримовом звуке начинается же проигрывание даже без start
И событие onLoad перебивает Ваш стримовость - об_ект Sound ждет пока не загрузится весь стрим и не запускает

Минус: Вы не сможете до окончания буфферизации узнать duration

Вот код (у меня работает)

Код AS1/AS2:
var mySound=new Sound();
mySound.onLoad=function(){
	trace("buffered OK");
}
mySound.loadSound("test.mp3",true);
А судя из Вашего кода стрим 2 раза начнет проигрываться с самого начала (1й раз при mySound.loadSound а второй раз при событии onLoad)


Последний раз редактировалось djyamato; 08.04.2009 в 19:04.
Старый 09.04.2009, 01:37
LanVision вне форума Посмотреть профиль Отправить личное сообщение для LanVision Найти все сообщения от LanVision
  № 7  
Ответить с цитированием
LanVision

Регистрация: Mar 2009
Сообщений: 8
Спасибо, но, насколько я понимаю, onLoad() в случае со стримом срабатывает в тот момент, когда звуковой файл загрузился в том объеме, которого достаточно для запуска аудио-декомпрессора.

В любом случае проблема была в простой ошибке (случайно засунул это всё дело в onEnterFrame() ).
__________________
Тут что-то когда-то наверно будет

Старый 11.04.2009, 16:56
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 8  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от LanVision Посмотреть сообщение
...насколько я понимаю, onLoad() в случае со стримом срабатывает в тот момент, когда звуковой файл загрузился в том объеме, которого достаточно для запуска аудио-декомпрессора.
"Invoked automatically when a sound loads" (рид зэ факинг мануал)

То есть это событие возникнет в тот момент времени когда файл ПОЛНОСТЬЮ забуфферизируется (то есть загрузится)

В случае стримового звука он действительно стартует в тот момент когда загрузилась часть достаточная для декомпрессии(если Вы конечно ничего со звуком не делали: start stop)

Возможно событие onID может помочь со стартом но тэги могут быть записаны и в конце мп3шки

Старый 11.04.2009, 17:40
MyChemic вне форума Посмотреть профиль Отправить личное сообщение для MyChemic Найти все сообщения от MyChemic
  № 9  
Ответить с цитированием
MyChemic

Регистрация: Jan 2007
Сообщений: 91
sound.start(0, 9999);

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
audio streaming

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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