Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > Потоковый звук на сайте


Автор: Beholder 16.5.2007, 19:09
Такой вопрос - делаю сайт, там должна быть фоном музыка mp3 достаточно большая, около 4 метров. 
Есть 2 требования:
1. Музыка должна звучать на всех страницах сайта не прерываясь и не начинаясь с начала;
2 Она должна начинать проигрываться сразу или почти сразу.

Первую проблему решил, сделав фреймсет из 2 html-фреймов, в одном из которых звук проигрывается, в другом странички открываются.
Вторая вот не решается никак у меня.

Пытаюсь использовать потоковый звук, чтоб сразу начинал играть. Создал swf как контейнер для потокового звука, разместил во втором html-фрейме. 
При этом натыкаюсь, видимо, на глюк IE - звука при открытии фреймсета нет, но если зайти в св-ва обозревателя и нажать ОК (даже не меняя там ниче), то звук начинает воспроизводиться. Если swf со звуком не во фрейме, а в простом html - то все работает, но при этом опять возникает первая проблема. Если swf не использовать, а просто подгружать mp3 через bgsound - музыка есть, но играет тока после полной загрузки mp3.
Пробовал на 2-х компьютерах, глюк сохраняется.

Автор: DemoCode 16.5.2007, 19:22
Сделай, что-нибудь типа такого.

Код

<object width="400" height="26" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" align="top">
<PARAM NAME="FileName" VALUE="your_file">
<PARAM NAME="AutoStart" VALUE="True">
<PARAM NAME="AutoSize" VALUE="false">
<PARAM NAME="ShowControls" VALUE="false">
<param name="ShowDisplay" value="0">
<PARAM NAME="ShowStatusBar" VALUE="false">
<param name="EnableContextMenu" value="0">
<param name="TransparentAtStart" value="1">
<EMBED type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="yourpath" align="top" width="1" height="1" autostart="1" autosize="0" showcontrols="0" showdisplay="0" EnableContextMenu="0" ShowStatusBar="0">
</EMBED>
</OBJECT>

Автор: Maksys 16.5.2007, 20:28
Извращение конешно.... простите... Я считаю что лучше всего создать объект Sound в root или еще выше который бы не удалялся из памяти и играл бы он Стримминг без Б.....
Как вы думаете?

Автор: AntonioBanderaz 17.5.2007, 01:40
Цитата(Maksys @  16.5.2007,  20:28 Найти цитируемый пост)
Я считаю что лучше всего создать объект Sound в root или еще выше

Выше некуда...

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

Автор: Beholder 17.5.2007, 02:46
Цитата

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


если разбить -  неизбежны паузы и задержки.
разные mp3  - можно, конечно, но если ужать еще, слушать будет нельзя, ужасно, битрейт и так ниже некуда.

2DemoCode - спасиб, все работает! smile


Не объяснишь, почему мой вариант нерабочий в фреймсете? AutoStart вроде делал...

Код

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1" height="1" id="sound" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="sound.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="sound.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="sound" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>


Автор: AntonioBanderaz 17.5.2007, 09:58
Цитата(Beholder @  17.5.2007,  02:46 Найти цитируемый пост)
2DemoCode - спасиб, все работает!

Only for IE

Добавлено через 1 минуту и 20 секунд
Цитата(Beholder @  17.5.2007,  02:46 Найти цитируемый пост)
Не объяснишь, почему мой вариант нерабочий в фреймсете? AutoStart вроде делал...

А что у тебя в SWF?

Автор: DemoCode 17.5.2007, 14:07
Цитата(AntonioBanderaz @  17.5.2007,  10:58 Найти цитируемый пост)
Only for IE

Нет. В мозилле и опере прекрасно работает.

Автор: AntonioBanderaz 17.5.2007, 17:13
Цитата(DemoCode @  17.5.2007,  14:07 Найти цитируемый пост)
Нет. В мозилле и опере прекрасно работает. 

Под виндой... У мя мопустим Linux... 

Автор: Beholder 17.5.2007, 17:36
в swf - mp3, stream, фреймов достаточно для него, зациклен. Сам по себе играет нормально, если включен в обычную html-страничку, как я привел выше, тоже играет. А во фреймсете не играет.

Насчет линуха - смотрел статистику по использованию браузеров в рунете? IE c FireFox и Оперой под виндами дают чуть меньше 100% вместе...

Автор: AntonioBanderaz 17.5.2007, 18:12
Цитата(Beholder @  17.5.2007,  17:36 Найти цитируемый пост)
Насчет линуха - смотрел статистику по использованию браузеров в рунете? 

В рунете спорить не буду, но всё равно не приятно, когда что-то делается под что-то определённое.
А нах ты его во фреймсет запихнул? в отдельный фрейм.

Автор: Beholder 17.5.2007, 20:53
Цитата

А нах ты его во фреймсет запихнул? в отдельный фрейм. 


Ты невнимателен.

Цитата

Есть 2 требования:
1. Музыка должна звучать на всех страницах сайта не прерываясь и не начинаясь с начала;
2 Она должна начинать проигрываться сразу или почти сразу.

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


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)