MozTW 討論區
https://forum.moztw.org/

音樂播放器
https://forum.moztw.org/viewtopic.php?f=13&t=12893
1 頁 (共 1 頁)

發表人:  jonnysun [ 2006-02-17, 15:11 ]
文章主題 :  音樂播放器

這是個只能在IE上正常播放的播放器,有人能修改成FF也行嗎?
程式碼如下

代碼:
<!--隨機撥放音樂_開始-->
<script language="javascript">
<!--
function my_get_stop() {
document.all.music_show.innerHTML='音樂停止';
}
function my_get_music() {
var songurl,songname,all,value;
songurl =new Array();
songname =new Array();
all =13; //歌曲總數
//歌曲
songurl[0] ='http://www.jonnysun.com/music/01.wma';
songurl[1] ='http://www.jonnysun.com/music/02.wma';
songurl[2] ='http://www.jonnysun.com/music/03.wma';
songurl[3] ='http://www.jonnysun.com/music/04.wma';
songurl[4] ='http://www.jonnysun.com/music/05.wma';
songurl[5] ='http://www.jonnysun.com/music/06.wma';
songurl[6] ='http://www.jonnysun.com/music/07.wma';
songurl[7] ='http://www.jonnysun.com/music/08.wma';
songurl[8] ='http://www.jonnysun.com/music/09.wma';
songurl[9] ='http://www.jonnysun.com/music/10.wma';
songurl[10] ='http://www.jonnysun.com/music/11.wma';
songurl[11] ='http://www.jonnysun.com/music/12.wma';
songurl[12] ='http://www.jonnysun.com/music/13.wma';
//歌名
songname[0] ='夏影';
songname[1] ='銀色(orgel version)';
songname[2] ='銀色';
songname[3] ='ふたリ';
songname[4] ='平和への祈&#12426i';
songname[5] ='平和の祈り';
songname[6] ='夜想';
songname[7] ='哀しみを越えて';
songname[8] ='涼風−メインテーマ−';
songname[9] ='Mystic Space';
songname[10] ='父の影';
songname[11] ='另一個世界';
songname[12] ='遠い日の傷跡−piano&#8722';
value=Math.round(Math.random()*(all-1));
document.all.music_show.innerHTML=songname[value];
document.all.music_show.innerHTML+='<embed src="'+songurl[value]+'" autostart="true" loop="true" hidden>';
}
onload=my_get_music;
//-->
</script>
<b>
<a href="javascript:my_get_music();"><font color="#CCFFCC">換首</font></a><font color="#00FF00">/</font><a href="javascript:my_get_stop();"><font color="#CCFFCC">停止</font></a></b>
<font color="#00FFFF">現在撥放:</font><font  color="#CCFFCC" id="music_show"></font>
<!--隨機撥放音樂_結束-->



希望有功力高強的朋友幫幫忙...謝謝

發表人:  james [ 2006-02-17, 17:16 ]
文章主題 : 

其實,只因使用了 "document.all",改成 w3c 的標準語法 document.getElementById 即可。
另外,稍微改一下程式碼,希望別介意。試過在 IE6、Firefox 1.5.0.1、Opera 8.5 都可以播放。
代碼:
<!--隨機撥放音樂_開始-->
<script language="javascript">
<!--
function myMusicStop() {
document.getElementById("music_show").innerHTML='音樂停止';
}
function myGetMusic() {
   var song = [
      {url:'http://www.jonnysun.com/music/01.wma', name:'夏影'},
      {url:'http://www.jonnysun.com/music/02.wma', name:'銀色(orgel version)'},
      {url:'http://www.jonnysun.com/music/03.wma', name:'銀色'},
      {url:'http://www.jonnysun.com/music/04.wma', name:'ふたリ'},
      {url:'http://www.jonnysun.com/music/05.wma', name:'平和への祈&#12426i'},
      {url:'http://www.jonnysun.com/music/06.wma', name:'平和の祈り'},
      {url:'http://www.jonnysun.com/music/07.wma', name:'夜想'},
      {url:'http://www.jonnysun.com/music/08.wma', name:'哀しみを越えて'},
      {url:'http://www.jonnysun.com/music/09.wma', name:'涼風−メインテーマ−'},
      {url:'http://www.jonnysun.com/music/10.wma', name:'Mystic Space'},
      {url:'http://www.jonnysun.com/music/11.wma', name:'父の影'},
      {url:'http://www.jonnysun.com/music/12.wma', name:'另一個世界'},
      {url:'http://www.jonnysun.com/music/13.wma', name:'遠い日の傷跡−piano&#8722'}
   ];

   var theSong=Math.round(Math.random()*(song.length-1));
   var musicShow = document.getElementById("music_show");
   musicShow.innerHTML = song[theSong].name +
         '<embed src="' + song[theSong].url +
         '" type="audio/x-ms-wma" autostart="true" loop="true" hidden>';
}
onload=myGetMusic;
//-->
</script>
<b>
<a href="javascript:myGetMusic();"><font color="#CCFFCC">換首</font></a>
<font color="#00FF00">/</font>
<a href="javascript:myMusicStop();"><font color="#CCFFCC">停止</font></a>
</b>
<font color="#00FFFF">現在撥放:</font><font  color="#CCFFCC" id="music_show"></font>
<!--隨機撥放音樂_結束-->

發表人:  janson04 [ 2006-02-18, 14:55 ]
文章主題 : 

我的Firefox不能撥耶! :roll:
OPERA 跟 IE倒是沒問題,難道我少設定了什麼?

發表人:  james [ 2006-02-18, 17:14 ]
文章主題 : 

先前 Fx 測試環境已安裝 StopAutoPlay,因此可以撥放。
測試後發現若不顯示WMP的撥放控制,需將 <embed>的裡的屬性改成如下:
代碼:
   musicShow.innerHTML = song[theSong].name + '\
   <embed src="' + song[theSong].url + '" \
      type="audio/x-ms-wma" \
      pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" \
      width="0" \
      height="0" \
      autostart="true" \
      controltype="2" \
      showcontrols="1" \
      showstatusbar="1" \
      loop="true" \
      > \
   </embed>';


請再試試。

發表人:  janson04 [ 2006-02-18, 19:09 ]
文章主題 : 

感謝可以播放了,
可是他撥完一首歌後,就會停止了,不會像之前一樣重複播放
或者是 亂數下一首歌,可以再請大大改一下嗎 (我不會JavaScript :oops:)

發表人:  james [ 2006-02-18, 20:49 ]
文章主題 : 

janson04 寫:
感謝可以播放了,
可是他撥完一首歌後,就會停止了,不會像之前一樣重複播放
或者是 亂數下一首歌,可以再請大大改一下嗎 (我不會JavaScript :oops:)


"可以重複撥放" 指的可是在 IE6?
在 Fx 中似乎原程式碼也不會 loop (雖然 loop="true"),
暫時看不出如何改。

"亂數下一首歌" 應該需按"換首"。

改用 <object> 再傳入 playCount 也許可以達到"重複撥放"的效果",
不過我得另外找時間再試。

發表人:  janson04 [ 2006-02-18, 20:59 ]
文章主題 : 

james 寫:
janson04 寫:
感謝可以播放了,
可是他撥完一首歌後,就會停止了,不會像之前一樣重複播放
或者是 亂數下一首歌,可以再請大大改一下嗎 (我不會JavaScript :oops:)


"可以重複撥放" 指的可是在 IE6?
在 Fx 中似乎原程式碼也不會 loop (雖然 loop="true"),
暫時看不出如何改。

"亂數下一首歌" 應該需按"換首"。

改用 <object> 再傳入 playCount 也許可以達到"重複撥放"的效果",
不過我得另外找時間再試。

嗯~不管在改前或改後IE都會自動重複播放
Opera則是改前改後都不能自動重複播放
而Firefox也是 :roll:

發表人:  hansdofer [ 2006-02-20, 17:25 ]
文章主題 : 

我是沒有修改,沿用原本的
可以在Fx播放,至於你說重複播放
在沒修改前,那個本身就不會重複播放了
那要點選換首,才會播放下一首.

發表人:  JellyCatz果凍喵 [ 2006-04-08, 05:34 ]
文章主題 : 

感謝這篇文章給我的靈感~ 讓我完成了一個InternetRadio的播放器~
有預先播放的功能~ 可選擇上下或是亂數頻道~

http://catz.no-ip.com/blogs/eureka/arch ... 00200.html
http://catz.no-ip.com/blogs/eureka/arch ... 080518.zip

歌曲用的是SHOUTcast網路裡面的歌哩~

延伸的想法應該是在頻道(or歌曲)介紹那邊使用圖片應該會更好些就是了~

希望有心人士能更精進些就是了 ^^

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/