在網路上直接播放OGG

透過 Flash 介面的網路跨平台特性,直接在網路上播放 OGG 格式音樂!

※ 註:本篇採個人經驗、觀點敘述,可能因不同版本、使用環境與需求,會有不同用法或觀點、抉擇。

     請經過自行測試、思考判斷,本文僅供參考,切勿不經思考完全採信。

簡述

緣由

目前網路上最大宗的波形(?)串流音訊格式常見的有:MP3、AAC。
如:YouTube 影片內包含音軌原始的音訊格式多為 AAC、天空影音則是都用 MP3 透過 Flash 的播放介面達成。


目前在網路上播放音樂,除了單獨使用背景音樂的寫法(現在很少人這樣用)外,
不外乎就是使用最流行的 Flash 介面來達成音訊播放,甚至是影視傳播。(但此篇不討論視訊問題)
當然也有更少數的需求可以直接使用傳統 <embed> 標籤 來嵌入比較傳統的 Windows Media Player。


其中,最大宗的 MP3、AAC(通常是內編碼為AAC成份,檔案外表封裝成 MP4 或 FLV),大多都是透過 Flash 來達成播放。
沒錯,重點出現了!由於 Flash 可以算是一個網路介面(?),同時具有跨平台特性。(沒有任何瀏覽器不支援 Flash 的吧?)
導致採用 Flash 介面來播放的平台越來越多。


而使用 Flash 介面,目前最穩定、最良好、最多人用的格式:MP3,
以及基於 MP4 封裝標準之ㄧ「H.264+AAC」中的 AAC 音訊格式,實際上也無形中在影音內部的音軌音訊編碼,取得使用率居高的地位。


既然都是托 Flash 跨平台的福達到的傳播便利,那 OGG 為什麼不行呢?
沒錯!OGG 其實也可以直接在網路上播放!目前除了知名的 HTML5 有 <audio> 標籤支援外
透過 Flash 介面播放 OGG 也可以達成!!甚至可以兩者一起使用!! (方法將詳記在下文中)


是的。實際上,在去年的這個時候(2009 九月),因為某些需求我曾大量爬過國內外相關文章。
當時最多查到的資源,只要給你 Flash 源程式碼。有能力跟軟體編譯、封裝成「*.swf」的人,才能享受「透過 Flash 介面播放 OGG 格式音樂」。


HTML5 + Flash(FOggPlayer.swf) 播放 OGG 音樂格式的實例

<audio tabindex="0" src="你的OGG檔案網路網址.ogg"
loop
controls
autoplay
width="350">
    <object width="350"
	    height="21">
      <param name="movie"
	     value="FOggPlayer.swf?url=你的OGG檔案網路網址.ogg&title=test" />
      <param name="bgcolor" value="#ffffff" />
      <embed src="FOggPlayer.swf?url=你的OGG檔案網路網址.ogg&title=test"
	     bgcolor="#ffffff"
	     width="350"
	     height="21"
	     type="application/x-shockwave-flash" />
    </object>

</audio>


關於能讓 OGG 直接透過 Flash 播放的功臣:「FOggPlayer.swf」


進去後點選「External downloads」,之後會自動下載最新版本。(例如:FOggPlayer-0.2.zip)
之後解壓縮完會看到裡面有很多東西,其中對於 OGG 播放應用最重要的檔案是「FOggPlayer.swf」。
其次是「test.html」,因為只要看了這個檔案的內容原始碼。稍微懂 HTML 對於 Flash 應用的人,應該就馬上能知道怎麼應用他播放 OGG。


關於 HTML5 的 <audio> 標籤


HTML5 <audio> 音樂標籤的寫法大概是這樣

<audio tabindex="0" src="你音樂檔案網路網址" loop controls autoplay">

   

</audio>


後記(?)

實際上會知道、用到 OGG 格式的人算是非常少數,所以這方面的中文資料一直不多。
一年前的時候「FOggPlayer.swf」還沒有讓你更換 OGG 檔案名稱的功能,但是現在有了。
現在不論是什麼網址的 OGG,透過「FOggPlayer.swf」都可以播放。


實際上還有一個東西叫做「FFMP3」,
他也是參考「FOggPlayer.swf」然後把「Flash 播放 MP3 的功能」以及版面變換的能力加進去。


但他用起來比較沒有這麼自由,因為使用時必須要在「網路音樂端(你存放網路音樂網址的地方)」寫(上傳)一個「crossdomain.xml」才能播放
最基礎的「crossdomain.xml」內容大概如下:
<cross-domain-policy>

<allow-access-from domain="*" />
 
</cross-domain-policy>
「crossdomain.xml」主要功能是封鎖網域,預設是不能隨便播別人的 OGG 網址。除非你有得到授權。
也就是說,你 OGG 音樂檔案存放的地方,必須要能夠在同一個網址下存放「crossdomain.xml」。(例如:http://123.com/test.ogghttp://123.com/crossdomain.xml


雖然這樣設計,會比較安全、比較不會讓別人偷播你的東西,但是相對來說也不太自由。
如果 OGG 是存放在可外連的網路硬碟,那很有可能「crossdomain.xml」沒辦法在同一的地方儲存或被讀取辨識。
就是因為這樣,我不選擇介面華麗功能較多的「FFMP3」。反而選了Flash Ogg Vorbis Player


以下為 atwiki.jp 平台自動加入的其他廠商贊助廣告

最終更新:2011年11月06日 07:59