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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Dec 2006
Адрес: г. Пермь
Сообщений: 8
Question Проблема проигрывания звука в MSIE

Добрый день,
требуется воспроизводить загружаемый звук. Звуки грузятся с сайта. В самом Flash'е все работает отлично, нажимаю кнопку, файл загружается (music.load('http://site.ru/getsound.mp3?a=12345'), false), стабатывает onLoad, проверяю music.duration=20365, делаю music.start() и музыка играет. Как только начинаю смотреть флешку в msie - как будто все точно также, вот только music.duration=0. Чтобы услышать звук нудно снова нажать на кнопку. В Firefox все работает нормально (не важно где находится флешка - локально или на сайте). В чем подвох. Не писать же "пользователи MSIE нажимайте на кнопку 2 раза". Самое интересное, что закешированные файлы даже в MSIE играют с первой попытки. Не понимаю почему происходит onLoad(true). getSound.mp3 на самом деле php, но там вроде проблем нет.

Старый 28.12.2006, 17:22
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
то что в IE бывает что криво работают события загрузки не новость,
как вариант можно и продублировать (отследить в onEnterFarme или интервальной функции)
а у тебя интересно какой такой music.load , music он же Sound, нет у него такого метода.. или он MovieClip ? тогда при чем music.start(), расшифруй тут что происходит..

Старый 28.12.2006, 18:10
FourSide вне форума Посмотреть профиль Отправить личное сообщение для FourSide Найти все сообщения от FourSide
  № 3  
Ответить с цитированием
FourSide

Регистрация: Jul 2006
Сообщений: 387
Отправить сообщение для FourSide с помощью Skype™
У него двойной клик в IE на мувике происходит Ничего нового, можно использовать SWFObject().

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

Регистрация: Dec 2006
Адрес: г. Пермь
Сообщений: 8
Код:
var music:Sound = new Sound();

music.onLoad=function(success:Boolean){
 if(success){
	info.text=music.duration; //info - текстовое поле для отладки в IE
	music.start();
 }
};

// на кнопке висит:
on(release){
  music.loadSound("http://www.site.ru/getsound.mp3?a=123654", false);
}
вот такой у меня был код.

модернизировал примерно так:
Код:
var music:Sound = new Sound();

music.onLoad=function(success:Boolean){
 if(success){
    if(music.duration>0){
	info.text=music.duration; //info - текстовое поле для отладки в IE
	music.start();
    }else{
         music.loadSound("http://www.site.ru/getsound.mp3?a=123654", false);
    }
 }
};
так он у меня ушел в бесконечный цикл.

Старый 28.12.2006, 18:46
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
так и должен..
в качестве эксперимента, такой вариант замены родному onLoad:
Код:
var music=new Sound();
var intervalID;
but.onPress=function(){
	music.loadSound('file.mp3', false);
	intervalID=setInterval(watchLoad,10);
}
function watchLoad(){
	if(music.duration){
		clearInterval(intervalID);
		music.start();
	}
}

Старый 28.12.2006, 18:57
Petrovich_Z вне форума Посмотреть профиль Отправить личное сообщение для Petrovich_Z Найти все сообщения от Petrovich_Z
  № 6  
Ответить с цитированием
Petrovich_Z

Регистрация: Dec 2006
Адрес: г. Пермь
Сообщений: 8
Попробовал, результан оказался и ожидаемым и непредсказуемым одновременно: естественно с первого клика ничего не произошло - тишина, зато при втором клике случилось что-то странное - заиграл звук, но не один, а два одинаковых с небольшой задержкой. Как будто с эхом.

Старый 28.12.2006, 19:03
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
почему с первого клика ничего - непонятно..
а почему эхо понятно:
потому что интервал не очистился, т.е. тут надо аккуратно с областями видимости разобраться: где что определено, чтоб в watchLoad intervalID была видна..
такое предложение: надо тестовый пример с глюком, чтоб было с чем играться..

Старый 28.12.2006, 19:18
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от FourSide
У него двойной клик в IE на мувике происходит Ничего нового, можно использовать SWFObject().
а что это, почему
FourSide, скажи подробнее: может в этом и дело (двойной звук)
зы: потому что если б интервал не очистился был бы не двойной, а вообще кошмарный звук..


Последний раз редактировалось silin; 28.12.2006 в 19:21.
Старый 28.12.2006, 19:24
FourSide вне форума Посмотреть профиль Отправить личное сообщение для FourSide Найти все сообщения от FourSide
  № 9  
Ответить с цитированием
FourSide

Регистрация: Jul 2006
Сообщений: 387
Отправить сообщение для FourSide с помощью Skype™
Цитата:
Сообщение от Petrovich_Z
...Чтобы услышать звук нудно снова нажать на кнопку. В Firefox все работает нормально (не важно где находится флешка - локально или на сайте). В чем подвох. Не писать же "пользователи MSIE нажимайте на кнопку 2 раза"...
Я может быть неправильно понял автора, но мне показалось, что кнопка "Старт" для проигрывания музыки не нажимается в IE. Т.е. она нажимается со второго раза, в отличие от остальных браузеров, что и дало мне мысль, что мешает активация ActiveX компонента в IE.

Для Petrovich_Z - попробуйте после загрузки страницы с мувиком в IE просто навести указатель мыши на ваш мувик. Всплывающая подсказка случайно не такая будет: "Click to activate and use this control"?


Последний раз редактировалось FourSide; 28.12.2006 в 19:31.
Старый 28.12.2006, 21:14
Petrovich_Z вне форума Посмотреть профиль Отправить личное сообщение для Petrovich_Z Найти все сообщения от Petrovich_Z
  № 10  
Ответить с цитированием
Petrovich_Z

Регистрация: Dec 2006
Адрес: г. Пермь
Сообщений: 8
я подготовлю пример и выложу чуть позже, только ребенка спать уложу.
Кнопка нажимается нормально. Вообще результат можно посмотреть тут:
http://www.ringbacktones.ru

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

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

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


 


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


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