Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как проиграть звук по ссылке, кроссбраузерно? 
:(
    Опции темы
katka
  Дата 6.8.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 19.7.2004

Репутация: нет
Всего: 6



да, я знаю:
- что играть звуки на страничках нехорошо
- что звук прекрасно вставляется через флеш
и всё остальное, что вы мне сразу захотите сказать.

мой вопрос касается не флеша и не php и не идейных споров. у меня есть страничка, например, О КОЛОКОЛЬЧИКАХ. рядом с каждым колокольчиком есть ссылка "послушать". при её нажатии просходит коротенький звук (bzdyn.wav).
для ИЕ я просто подставляю в bgsound нужный src, и получаю звук. как мне быть с ФФ? этот embed съел мой мозг. я прочитала все темы на этот счёт, но так у меня ничего и не заиграло. помогите, пожалуйста, блондинке. только по существу, если можно.
спасибо.
--------------------
если с другом буду я, если с другом буду я, а медведь — без друга
PM MAIL WWW ICQ   Вверх
12345c
Дата 8.8.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



В таком виде он у меня работал на IE, FF (Win XP) при QuickTime. Для WMPlayer (когда он был по умолчанию) картина была несколько другая - работала pause() и имена функций  - регистронезависимые. В Опере7.5 плеер даже не показывается, в 8-й функции не идут, но плеер виден и кнопки срабатывают. В Сети считают, что наиболее надёжный запуск Оперы - по прямой ссылке.
Код

<embed id=snd src=78798016ced3e9d5e835622fba236d70.mp3 StoryBTL_S.wav autostart=false height=42 loop=true controller=true hid den=true></embed><br> 
<input type=button onClick=d.getElementById("snd").Play(); value=Play(Z)> 
<input type=button onClick=d.getElementById("snd").Stop(); value=Stop(S)> 
<input type=button onClick=d.getElementById("snd").Rewind(); value=Rewind(A)>
<script>(d=document).onkeypress=function(e){if(!e)e=event;var key=e.keyCode?e.keyCode:e.charCode;
with(d.getElementById("snd")){
    if(key==122||key==90||key==1103||key==1071)Play();
    if(key==115||key==83||key==1099||key==1067)Stop();
    if(key==97||key==65||key==1092||key==1060)Rewind();
}}
</script>



--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
katka
Дата 8.8.2006, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 19.7.2004

Репутация: нет
Всего: 6



а hid den так и надо писать через пробел? а что за wav там в ембед? а не могли бы вы применительно к моему вопросу написать пример? я не понимаю, как ваш переделать.
например вот:
Код

<a href="javascript:тратата">Прослушать звук</a>

без всяких кейпрессов страшных.. например, пусть будет проигрываться один раз zvuk.wav
--------------------
если с другом буду я, если с другом буду я, а медведь — без друга
PM MAIL WWW ICQ   Вверх
Sardar
Дата 8.8.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



katka, то что в input.onclick, это конкретные действия заставляющие проиграть/онстановит/прокрутить назад музыку, т.е. методы Play(), Stop, Rewind() от embed обьекта. Вставь их в свою ссылку. 

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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
katka
Дата 8.8.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 19.7.2004

Репутация: нет
Всего: 6



Sardar, у меня дома это не работало. говорило, что нет такого метода Play()
другое дело — вдруг я пишу ембед как-то не так?
Код

<embed id=snd src=78798016ced3e9d5e835622fba236d70.mp3 StoryBTL_S.wav autostart=false height=42 loop=true controller=true hid den=true></embed>

что из этого важно и что нет? без кавычек всё и какое-то вообще СТРАННОЕ
что такое height? оно мне нужно вообще? hidden зачем нужен? зачем здесь два файла? что такое controller?
--------------------
если с другом буду я, если с другом буду я, а медведь — без друга
PM MAIL WWW ICQ   Вверх
Sardar
Дата 8.8.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(katka @  8.8.2006,  11:25 Найти цитируемый пост)
без кавычек 

Ну не любит 12345c писать валидно, читай его подпись smile

Остальные параметры плагину, hidden помоему скрывает виндовый плеер. В src конечно же лажа, замени на свой файл, StoryBTL_S.wav убери, видать опечатка. heigh/with не нужны если плеер скрыт, autostart думаю ясно. Отсюда понимаем что встраивание мультимедийных файлов в страницу вещь черезвычайно не кросбраузерна, хотя если единые плагины пользуються (флеш например), то работать должно везде smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
12345c
Дата 8.8.2006, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



"hid den" - это просто обезвреженный атрибут. Если пробел убрать, он заработает.

Переделать - пользоваться приведёнными функциями. Например, запустить воспроизведение - 
Код
<a href=# onclick=document.getElementById("snd").Play();return!1>Play</a>

PM WWW   Вверх
Burrr
Дата 10.8.2006, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Для проигрывания аудио использую такой код (несовсем ссылка, но у меня работает в ИЕ, Опера 7.23, НН 7.1, ФФ 1.5):
Код

<html>
<head>
    <title>Audio</title>
</head>
<body>
<script type="text/javascript">
var audioFolder = "http://burtsev.boom.corp.mail.ru/blogs/audio/"; // If you have a default audio directory, e.g., http://www.your-media-hosting-site.com/sounds/, you can put it here to make links on the referring page shorter.

function embedPlayer(MP3title,MP3URL) { 
   // Get Operating System 
   var isWin = navigator.userAgent.toLowerCase().indexOf("windows") != -1;
   if (isWin) { // Use MIME type application/x-mplayer2
      visitorOS="Windows";
   } else { // Use MIME type audio/mpeg, audio/x-wav, etc.
      visitorOS="Other";
   }

   var audioURL = audioFolder + MP3URL;
   var objTypeTag = "application/x-mplayer2"; // The MIME type to load the WMP plugin in non-IE browsers on Windows
   if (visitorOS != "Windows") { objTypeTag = "audio/mpeg"}; // The MIME type for Macs and Linux 
  
   document.writeln("<div>");
   document.writeln("<strong style='font-size:18px; position:relative; top:-28px'>" + MP3title + "&nbsp;</strong>");  // Adjust font style to taste
   document.writeln("<object width='280' height='69'>"); // Width is the WMP minimum. Height = 45 (WMP controls) + 24 (WMP status bar) 
   document.writeln("<param name='type' value='" + objTypeTag + "'>");
   document.writeln("<param name='src' value='" + audioURL + "'>");
   document.writeln("<param name='autostart' value='0'>");
   document.writeln("<param name='showcontrols' value='1'>");
   document.writeln("<param name='showstatusbar' value='1'>");
   document.writeln("<embed src ='" + audioURL + "' type='" + objTypeTag + "' autoplay='false' autostart='0' width='280' height='69' controller='1' showstatusbar='1' bgcolor='#ffffff'></embed>"); 
   
   // Firefox and Opera Win require both autostart and autoplay
   document.writeln("</object>");
   document.writeln("</div>");
   document.close(); // Finalizes the document
}
<!-- Call external JavaScript file to embed player
embedPlayer("Beatles","Girl.mp3"); // title, filename
// -->
</script>
<noscript><a href="http://burtsev.boom.corp.mail.ru/blogs/audio/Girl.mp3" target="_blank">Fanfare</a></noscript>
</body>
</html>



--------------------
PM MAIL ICQ   Вверх
katka
Дата 20.8.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 19.7.2004

Репутация: нет
Всего: 6



Burrr, меня фаерфокс ругает (
Ошибка системы безопасности

в чём может быть дело? а wav-ы я могу так же проигрывать?
--------------------
если с другом буду я, если с другом буду я, а медведь — без друга
PM MAIL WWW ICQ   Вверх
gcc
Дата 22.1.2010, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



а как это сделать под видео? 
никто не видел пример?

http://forum.vingrad.ru/forum/topic-287765.html
PM WWW ICQ Skype GTalk Jabber   Вверх
ksnk
Дата 27.1.2010, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

    var self= { name: 'soundAlarm'

        , start_alarm : function(snd){
            if (self.mpdiv){
                document.body.removeChild(self.mpdiv);
                self.mpdiv=null;
            }
            if (!self.mpdiv){
                var mpdiv=document.createElement('div');
                if (!snd) snd='http://fck.me/trav/ELPHRG01.WAV';
                mpdiv.innerHTML="<embed id='snd' src='"+snd+"' autostart=true height=42 loop=false controller=true hidden=true></embed>";
                self.mpdiv=document.body.appendChild(mpdiv);
            }
        }
    };
    /**
     * play alarm
     */
    self.start_alarm();


несколько заумная реализация объясняется тем, что это все вырезано из другого проекта.
для FF, IE и Хрома, вроде, работает. Хотя пару раз кликнуть на "разрешить исполнение", вероятно, придется...

Метода Play в FF действтельно нету, а долго разбиратся с ним не было времени, так что сделано просто - вставляем новый элемент - убираем его напроч... В элементе стоит автостарт, и нету цикла.

Как можно заметить - тут нет никаких кнопок управления, так что проигрывать стоит маленький звуковой файл. 
Свой ELPHRG01.WAV я нашел на своей машине по адресу C:\Program Files\Microsoft Office\MEDIA\CAGCAT10\ 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0902 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.