ほんまにどうなっとんじゃ。
上の方法でWindowsMediaPrayerをアクティブにしたら、今度は再生終了のイベントが検出できんようになったがな。
ということで、Microsoftのページをごそごそ調べて、SendPlayStateChangeEventsなるプロパティを見つけて試してみたら、こんな感じでできるっぽい。
【JavaScpirtファイル(wmp.js)】 function writeWMP() { document.write('<object id="p1" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" width="320" height="265" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading MicrosoftR WindowsR Media Player components..." type="application/x-oleobject">'); document.write('<param name="FileName" value="http://xxx.yyy.zzz/hoge.wmv">'); document.write('<param name="AutoStart" value="true">'); document.write('<param name="ShowControls" value="true">'); document.write('</object>'); // ここから document.write('<script type="text/javascript">'); document.write('document.p1.SendPlayStateChangeEvents = true;'); document.write('</script>'); // ここまで } 【HTML(wmp.html)】 <HTML> <HEAD> <SCRIPT TYPE="text/javascript" SRC="wmp.js"></SCRIPT> </HEAD> <BODY> <SCRIPT TYPE="text/javascript">writeWMP();</SCRIPT> <!-- ここから --> <SCRIPT for="p1" event="EndOfStream(lResult)" type="text/javascript"> <!-- // 再生が終了した時のイベント処理 // --> </SCRIPT> <!-- ここまで --> </BODY> </HTML>
EndOfStreamのスクリプトの記述を、wmp.jsに記述しても呼ばれないので、再生が終了した時のイベント処理は、元のHTMLに記述しないとダメみたい。
■参考サイト
とほほのWWW入門 > トップ > マルチメディア入門 > Windows Media Player
http://www.tohoho-web.com/wwwmmd2.htm
Microsoft
http://msdn.microsoft.com/library/ja/wmplay/mmp_sdk/player6sendplaystatechangeevents.asp?frame=true
最近のバージョンとして記述がないのはナゼだ?