JS傳值給flash

來源:互聯網
上載者:User

修改flash音樂播放器的部分代碼,使用HTML建立播放清單,單擊播放清單中的項,通過js傳值給flash播放選中的音樂

(flash音樂播放器通過讀取XML檔案載入音樂資訊)

 

JS代碼:

<head><br /><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><br /><title>無標題文檔</title></p><p><mce:script type="text/javascript"><!--<br />//向flash傳遞參數(修改flash中_root軸上定義的全域參數值)<br />function doSome(val)<br />{<br />getFlash("myFlash").SetVariable("MusicID", val);<br />}</p><p>//擷取Flash對象(相容IE,FF等瀏覽器)<br />function getFlash(name)<br />{<br />if(navigator.appName.indexOf("Microsoft") != -1)<br />{<br />return window[name]<br />}<br />else<br />{<br />return document[name]<br />}<br />}<br />// --></mce:script><br /></head></p><p><body></p><p><object id="myFlash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="145" height="40"><br /> <!-- 設定palyer2.swf?key=3,flash會在_root軸下自動建立key對象<br />此外:<param name="FlashVars" value="key=1"/>同樣 --><br /> <param name="movie" value="player2.swf" /><br /> <param name="quality" value="high" /><br /> <embed name="myFlash" src="player2.swf" mce_src="player2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="145" height="40"></embed><br /></object></p><p><!-- 播放清單 --><br /><a href="#" mce_href="#" onclick="doSome(0)">1</a><br /><a href="#" mce_href="#" onclick="doSome(1)">2</a></p><p></body>

 

註:只有IE可以讀取Param標籤的資訊,FF等只能讀取embed標籤中的資訊,HTML給FLASH傳遞初始值為了相容除了在<param name="movie" value="player2.swf?key=66"/>外,還要在<embed name="myFlash" src="player2.swf?key=66" ... />中定義

 

AS代碼:

//在_root軸聲明一個對象,接收JS外部傳遞來的新播放音樂ID<br />var MusicID = -1;<br />//記錄當前播放音樂ID<br />var oldMusicID = -1;</p><p>//通過重新整理幀頻,檢查MusicID的值是否改變,如改變執行相關方法,播放指定音樂<br />//聽說可以用監聽對象是否改變的Object.watch("屬性名稱",回調方法),但此方法我實驗失敗%-%<br />title_mc.onEnterFrame = function()<br />{<br />if(_root.oldMusicID != _root.MusicID)<br />{<br />_root.oldMusicID = _root.MusicID;<br />//_root.title_66.text = _root.MusicID;</p><p>pointer_id = _root.MusicID;</p><p>setPlayStatus("play");<br />}<br />}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.