私はFlowplayerFlashビデオプレーヤーを使用して、 AnythingSlider内でMP4ビデオを再生しています。スライドショーを停止してユーザーがビデオを表示できるように、ユーザーがビデオのスタートボタンをクリックしたことを検出する必要があります。警告ボックスを取得するためだけにこのコードを使用しようとしましたが、何も実行されません(コードはページの最後、終了</body>タグの前にあります):
<script type="text/javascript">
$f("player","global/js/flowplayer/flowplayer-3.1.5.swf",{
onStart: function(clip) {
alert('player started');
}
});
</script>
Flowplayerは、ブラウザがタグを処理できるかどうかを自動的に検出するhtml5mediaライブラリの一部として実装されています。<video>そうでない場合は、以下のアンカータグをFlowplayerに置き換えます。
<video id="vid" width="372" height="209"
poster="global/vid/bbq-poster.jpg" controls preload>
<source id="videoSource" src="global/vid/BBQ_Festival.mp4"
type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'
onerror="fallback(this.parentNode)" ></source>
<a
href="global/vid/BBQ_Festival.mp4"
style="display:block;width:372px;height:209px; padding-left:5px; "
id="player">
</a>
</video>
したがって、$ f()関数呼び出しはページの最後にあるJavaScriptブロックにあり、プレーヤーに正しくロードする機会を与えます。私は何が間違っているのですか?ありがとう。
更新:Firebugによって示されるように生成されたHTMLは次のとおりです。プレーヤーの「vid」IDを使用してみましたが、それでもうまくいきませんでした。
<object width="100%" height="100%" type="application/x-shockwave-flash"
data="http://html5media.googlecode.com/svn/trunk/src/flowplayer.swf"
id="vid_api">
<param value="true" name="allowfullscreen">
<param value="opaque" name="wmode">
<param value="always" name="allowscriptaccess">
<param value="high" name="quality">
<param value="false" name="cachebusting">
<param value="#000000" name="bgcolor">
<param value="config={"play":null,"playlist":[{"url":"http://localhost/cms/global/vid/poster.jpg",
"scaling":"fit","fadeInSpeed":0,"fadeOutSpeed":0},
{"url":"http://localhost/cms/global/vid/BBQ_Festival.mp4",
"autoPlay":false,"autoBuffering":true,"scaling":"fit",
"fadeInSpeed":0,"fadeOutSpeed":0}],
"clip":{"scaling":"fit","fadeInSpeed":0,"fadeOutSpeed":0},
"plugins":{"controls":{"url":"http://html5media.googlecode.com/svn/trunk/src/flowplayer.controls.swf",
"fullscreen":false,"autoHide":"always"}},
"playerId":"vid"}" name="flashvars"></object>