Mik*_*ite 1 javascript youtube youtube-api
是否可以检测嵌入式播放器中的youtube字幕是打开还是关闭?
如果用户选择显示字幕,则目前无法抑制字幕.如果标题已打开,我想显示自定义消息.
在文档中,据我所知,没有提到这一点.
简单易行,你可以;)
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/QRS8MkLhQmM?enablejsapi=1&playerapiid=ytplayer&version=3",
"ytapiplayer", "640", "480", "8", null, null, params, atts);
var stateChange = function(a) {
if (ytplayer.getOptions().indexOf("cc") !== -1) {
alert("closed captions are on");
} else {
alert("closed captions are off");
}
}
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange","stateChange");
}
</script></body>
</html>
Run Code Online (Sandbox Code Playgroud)
顺便说一句:谷歌摇滚;)
这应该可以解决问题 - 请不要在生产模式下使用它 - 这只是一个快速总结。你需要听你想要的状态,我只是在任何情况下发出警报;)
小智 5
我没有在他们的api文档中找到它,但是使用你的youtube播放器对象,你应该可以做到:
player.getOptions("captions") || player.getOptions("cc") //detects if captions were ever loaded at one point.
Run Code Online (Sandbox Code Playgroud)
你也可以通过js打开它:
player.loadModule("captions"); //Works for html5 ignored by AS3
player.loadModule("cc"); //Works for AS3 ignored by html5
Run Code Online (Sandbox Code Playgroud)
把它关掉:
player.unloadModule("captions"); //Works for html5 ignored by AS3
player.unloadModule("cc"); //Works for AS3 ignored by html5
Run Code Online (Sandbox Code Playgroud)
如果加载模块,更改哪种语言:
player.setOption("captions", "track", {"languageCode": "es"}); //Works for html5 ignored by AS3
player.setOption("cc", "track", {"languageCode": "es"}); //Works for AS3 ignored by html5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2358 次 |
| 最近记录: |