S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

WindowsMediaPrayerをデフォルトで有効にして、再生の終了を検知する

ほんまにどうなっとんじゃ。
上の方法で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
最近のバージョンとして記述がないのはナゼだ?