隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          FlashCom發(fā)布和播放MP3
          播放MP3文件
          我們知道,F(xiàn)lash中默認(rèn)的流式播放格式是Flv格式,但是在應(yīng)用程序中,你可以通過(guò)客戶端腳本來(lái)播放MP3音頻文件和ID3信息,并使用服務(wù)器端腳本發(fā)布到stream流。
          你需要上傳MP3文件到服務(wù)器端的/streams/application_instance目錄(Macromedia FCS MX 1.5 在錄制視頻流的時(shí)候會(huì)自動(dòng)創(chuàng)建 streams 目錄,如果不存在,你也可以手動(dòng)創(chuàng)建)。例如你有個(gè)名為CDPlayerApp應(yīng)用程序,你可以上傳MP3文件到/applications/CDPlayerApp/streams/application_instance目錄。
          通過(guò)設(shè)定共享目錄,你還可以在其它應(yīng)用程序之間共享MP3。
          找到Vhost.xml文件中的節(jié)點(diǎn),在中添加需要共享的目錄,如:
          foo;c:\data
          表示所有含有foo名稱的目錄都會(huì)被定向到c:\data目錄,如foo/bar會(huì)被定向?yàn)閏:\data\bar.flv。
          詳細(xì)的Vhost.xml說(shuō)明可以參考FlashCom管理手冊(cè)中相關(guān)部分。
          然后,通過(guò)Stream.play指令指定播放的路徑和想要播放的MP3文件。為了播放MP3文件,我們需要使用 NetStream對(duì)象的play方法,或者使用MC對(duì)象的attachAudio方法,特別需要注意的是,在播放文件前面要加上mp3播放標(biāo)識(shí)前綴 mp3:,我們來(lái)看代碼示例:
          引用:
          1 : //非共享方式播放
          2 : vidObj.attachVideo(mystream);
          3 : mystream.play( 'mp3:bolero' );
          4 : //文件bolero.mp3在FCS服務(wù)器的 C:\mp3_files 目錄下面
          5 : //該目錄在vhost.xml中被映射到虛擬目錄 mp3dir
          6 : movieObj.attachAudio(mystream2);
          7 : mystream2.play( 'mp3:mp3dir/bolero' );

          提示: 在使用 NetStream.play 方法的時(shí)候如果不指定視頻或音頻格式,會(huì)默認(rèn)為FLV格式, 所以在播放MP3的時(shí)候,你必須指定格式播放。也就是說(shuō),flv:granada和granada都會(huì)播放文件granada.flv,但是mp3:bolero只會(huì)播放文件bolero.mp3。注意,這里播放的文件都在服務(wù)器端。

          要播放MP3文件的ID3信息,必須使用播放前綴id3:并定義相應(yīng)的回調(diào)函數(shù)來(lái)捕捉id3數(shù)據(jù)。例如,顯示bolero.mp3文件的ID3 信息:

          引用:
          1 : //displays the ID3 tag of bolero.mp3
          2 : mystream.play( 'id3:bolero' );
          3 : //callback function to capture the ID3 data. Data will be displayed with
          4 : //'info.' preceding the data from the tag, for example, info.songtitle.
          5 : mystream.onId3 = function (info){
          6 : for (i in info){
          7 : trace(i + ':' + info[ i ]);
          8 : }
          9 : }

          支持的MP3 ID3信息的版本
          FlashCom server 1.5 支持UTF-8, UTF-16, and ISO-8859-1 格式的 1.0, 2.3和 2.4.版本的ID3信息,并且只支持文本數(shù)據(jù),例如:歌曲名、作者、備注和錄制時(shí)間等。

          使用服務(wù)器端腳本
          你還可以使用服務(wù)器端的Stream對(duì)象來(lái)播放MP3和獲取MP3文件的長(zhǎng)度,更詳細(xì)的可以參考服務(wù)器端腳本參考中的Stream.play and Stream.length
          要?jiǎng)h除MP3文件可以使用Application.clearStreams方法,
          下面來(lái)看一個(gè)例子,通過(guò)Stream.play方法來(lái)發(fā)布MP3:
          引用:
          01 : // Set up the server stream
          02 : application.myStream = Stream.get( 'music' );
          03 : if (application.myStream)
          04 : {
          05 : // Publish the MP3 file bolero.mp3 to the stream 'music'
          06 : // Use the mp3: prefix in front of the stream name and specify 0 for the
          07 : startTime parameter to indicate the server should play the recorded stream
          08 : bolero.mp3
          09 : application.myStream.play('mp3:bolero', 0, -1);
          10 : }

          使用 Stream.play 方法來(lái)捕獲和播放 ID3 信息,請(qǐng)參考下面的代碼示例:
          引用:
          01 : // Set up the server stream
          02 : application.myStream = Stream.get( 'description' );
          03 : application.myStream.onId3 = function(info)
          04 : {
          05 : for (i in info)
          06 : {
          07 : trace(i + ': ' + info[ i ]);
          08 : }
          09 : }
          10 : if (application.myStream)
          11 : {
          12 : // Publish the ID3 text tag data of bolero.mp3 to a stream 'description'.
          13 : // Use the id3: prefix in front of the stream name and specify 0 for the
          14 : startTime parameter
          15 : application.myStream.play( 'id3:bolero', 0, -1);
          16 : }
          posted on 2006-06-16 11:25 blog搬家了--[www.ialway.com/blog] 閱讀(362) 評(píng)論(0)  編輯  收藏 所屬分類: FMS
          主站蜘蛛池模板: 子长县| 赣州市| 定边县| 凤冈县| 五河县| 沧源| 鹤岗市| 临沂市| 马尔康县| 儋州市| 获嘉县| 吉水县| 和平区| 苗栗市| 孝昌县| 荣成市| 精河县| 高州市| 田阳县| 普兰店市| 眉山市| 泰州市| 醴陵市| 乳源| 长葛市| 富顺县| 三河市| 北宁市| 南皮县| 塔河县| 大庆市| 禹州市| 昌乐县| 新郑市| 资兴市| 兰考县| 石家庄市| 循化| 瑞昌市| 建昌县| 新闻|