我试图在UIWebView中嵌入youtube视频并使其自动播放。显然这行不通。这是否与:
有关?https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html还是某种bug?
这是我的html文件:<html>
<head>
<script>
document.ontouchmove=function(e){ e.preventDefault(); };
</script>
</head>
<body style="margin:0px;" bgcolor="#000000">
<!-- 1. The <div> tag will contain the <iframe> (and video player) -->
<div id="player" style="text-align:center;"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '400',
width: '768',
videoId: 'HYlD0KXujAk',
playerVars: {'autoplay' : 1},
events: {
'onStateChange': onPlayerStateChange
}
});
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
var done = false;
function onPlayerStateChange(event) {
}
function stopVideo() {
player.stopVideo();
}
</script>
</body>
</html>
不,这不是bug,这是默认行为。UIWebView
不会在没有用户干预的情况下自动播放任何内容,除非您自己将UIWebView
的mediaPlaybackRequiresUserAction
属性设置为NO
(默认为YES
)。