Javascript Youtube API自动开始播放歌曲
我正在使用下面的代码播放youtube共享视频,但我希望用户启动视频,但一旦页面加载,它就会开始播放视频。我希望用户点击该链接,然后它应该开始播放Javascript Youtube API自动开始播放歌曲,javascript,youtube,Javascript,Youtube,我正在使用下面的代码播放youtube共享视频,但我希望用户启动视频,但一旦页面加载,它就会开始播放视频。我希望用户点击该链接,然后它应该开始播放 <script type="text/javascript"> function updateHTML(elmId, value) { document.getElementById(elmId).innerHTML = value; } function setytplayerState(newS
<script type="text/javascript">
function updateHTML(elmId, value) {
document.getElementById(elmId).innerHTML = value;
}
function setytplayerState(newState) {
if(newState==3 || newState==-1)
{
$('ld').show();
}
else
{
$('ld').hide();
}
}
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
setInterval(updateytplayerInfo, 250);
updateytplayerInfo();
loadNewVideo('<?=$w ?>');
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
setytplayerState(newState);
}
function minute(secVar0)
{
// The initial data, in seconds
minVar = Math.floor(secVar0/60); // The minutes
secVar = Math.floor(secVar0 % 60); // The balance of seconds
return minVar+":"+secVar;
}
function updateytplayerInfo() {
updateHTML("videoduration", minute(getDuration()));
updateHTML("videotime", minute(getCurrentTime()));
//updateHTML("startbytes", );
var sbyte=getStartBytes();
var tbyte=getBytesTotal();
var lbyte= getBytesLoaded();
var l=Math.floor(400*lbyte/tbyte);
//$('loaded').style.width=l+"px";
var c=getCurrentTime();
var t=getDuration();
slider.setValue(c/t);
}
// functions for the api calls
function loadNewVideo(id, startSeconds) {
if (ytplayer) {
ytplayer.loadVideoById(id, parseInt(startSeconds));
}
}
function cueNewVideo(id, startSeconds) {
if (ytplayer) {
ytplayer.cueVideoById(id, startSeconds);
}
}
function play() {
if (ytplayer) {
ytplayer.playVideo();
$('playpause').onclick=function(){pause()};
$('playpauseimg').src='pause.jpg';
}
}
function pause() {
if (ytplayer) {
ytplayer.pauseVideo();
$('playpause').onclick=function(){play()};
$('playpauseimg').src='play.jpg';
}
}
function stop() {
if (ytplayer) {
ytplayer.stopVideo();
}
}
function getPlayerState() {
if (ytplayer) {
return ytplayer.getPlayerState();
}
}
function seekTo(seconds) {
if (ytplayer) {
var t=getDuration();
var s;
s=t*seconds;
ytplayer.seekTo(s, true);
}
}
function getBytesLoaded() {
if (ytplayer) {
return ytplayer.getVideoBytesLoaded();
}
}
function getBytesTotal() {
if (ytplayer) {
return ytplayer.getVideoBytesTotal();
}
}
function getCurrentTime() {
if (ytplayer) {
return ytplayer.getCurrentTime();
}
}
function getDuration() {
if (ytplayer) {
return ytplayer.getDuration();
}
}
function getStartBytes() {
if (ytplayer) {
return ytplayer.getVideoStartBytes();
}
}
function mute() {
if (ytplayer) {
ytplayer.mute();
}
}
function unMute() {
if (ytplayer) {
ytplayer.unMute();
}
}
function getEmbedCode() {
alert(ytplayer.getVideoEmbedCode());
}
function getVideoUrl() {
alert(ytplayer.getVideoUrl());
}
function setVolume(newVolume) {
if (ytplayer) {
ytplayer.setVolume(newVolume);
}
}
function getVolume() {
if (ytplayer) {
return ytplayer.getVolume();
}
}
function clearVideo() {
if (ytplayer) {
ytplayer.clearVideo();
}
}
</script>
将自动播放:0作为参数之一传递
var params = { allowScriptAccess: "always", bgcolor: "#cccccc", autoplay: 0 };
var atts = { id: "myytplayer" };
// etc...
在swfobject url的末尾添加自动播放参数0应该可以解决此问题
swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer&autoplay=0", "ytapiplayer", "1", "1", "8", null, null, params, atts);
谢谢matt,但它又自动启动了,所以我认为我们需要做些不同的事情。我之前也尝试过这个自动播放,但它不起作用
swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer&autoplay=0", "ytapiplayer", "1", "1", "8", null, null, params, atts);