我正在创建一个以C#(winform)播放youtube视频的应用程序。现在,我想在视频结束时发布一个类似的事件。 我正在使用webbrowser控件并调用像这样的youtube视频:
wbYoutube.Navigate("http://www.youtube.com/v/" + playString[1] + "?version=3&enablejsapi=1&autoplay=1");
playString [1]是youtube视频ID(如rGJN5K2cV_8)。
我一直想让这个工作几天,有人知道如何实现这个目标吗?如果它甚至可能......
如果您需要更多信息,请与我们联系。 感谢
答案 0 :(得分:1)
我认为这是可能的,但您必须自己将html代码写入浏览器元素
wbYoutube.DocumentText = "";
这是html(你必须逃避它)
<html><head></head><body>
<script type='text/javascript' src='http://www.youtube.com/player_api'></script>
<iframe id="player" width="100%" height="100%" src="http://www.youtube.com/embed/VIDEO_ID?autoplay=1&controls=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe>
<script type="text/javascript">
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
videoId: 'VIDEO_ID',
events: {
'onStateChange': function(evt){
if(evt.data == 0){
window.external.Test('Video finished!!');
}
}
}
});
}
</script>
</body></html>
并查看Implement Two-Way Communication Between DHTML Code and Client Application Code
你可以找到其余的代码。