为什么HTML5视频没有';是否无法在IOS 8网络应用程序(webview)中播放?
在safari浏览器上播放简单的HTML5视频。但在将其添加到主屏幕(独立WebApp)后,它就不起作用了。它正在iOS7上工作,但在iOS8上停止工作为什么HTML5视频没有';是否无法在IOS 8网络应用程序(webview)中播放?,ios,html,html5-video,ios8,iphone-standalone-web-app,Ios,Html,Html5 Video,Ios8,Iphone Standalone Web App,在safari浏览器上播放简单的HTML5视频。但在将其添加到主屏幕(独立WebApp)后,它就不起作用了。它正在iOS7上工作,但在iOS8上停止工作 <!DOCTYPE html> <head> <meta charset="utf-8"> <meta name="apple-mobile-web-app-capable" content="yes" /> <title>HTML5 Video Standal
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>HTML5 Video Standalone Test</title>
<style>
body{
margin:0;
}
</style>
</head>
<body>
<video src="http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v" autoplay="autoplay" controls="true" webkit-playsinline />
</body>
</html>
HTML5视频独立测试
身体{
保证金:0;
}
请帮忙。有什么解决方案吗?在IOS 8.0.2的独立应用程序上,视频播放被破坏了。我想我找到了解决音频不工作的办法。我真的无法解释为什么这个修复程序有效,但它确实有效 我的旧代码是这样的:
// Create the audio tag
var sprite = document.createElement('audio');
var id = document.createAttribute('id');
id.nodeValue = 'audio_sprite';
var src = document.createAttribute('src');
src.nodeValue = 'my-audio-sprite.mp3';
sprite.setAttributeNode( id );
sprite.setAttributeNode( src );
// Add it to the DOM
var body = document.getElementsByTagName('body')[0];
body.appendChild( sprite );
// Play/Pause to load the audio.
sprite.play();
sprite.pause();
这就是我现在正在做的
// Grab an existing DOM element and create an audio tag.
var body = document.getElementById('hover');
body.innerHTML += '<audio id="audio_sprite"><p>Audio not supported</p></audio>';
// Apply the SRC to the audio tag.
// Q: Why don't we just do that in the step above?
// A: I'm not really sure why, but iOS8 doesn't like it. Sorry this is so ugly.
var sprite = document.getElementById( 'audio_sprite' );
sprite.src = 'my-audio-sprite.mp3';
// Once the metadata is loaded, call play/pause so we can play the audio later.
sprite.addEventListener('loadedmetadata', function() {
sprite.play();
sprite.pause();
});
//获取现有DOM元素并创建音频标记。
var body=document.getElementById('hover');
body.innerHTML+='音频不受支持';
//将SRC应用于音频标记。
//问:我们为什么不在上面的步骤中这样做呢?
//我不太清楚为什么,但iOS8不喜欢。对不起,这太难看了。
var sprite=document.getElementById('audio_sprite');
sprite.src='my audio sprite.mp3';
//加载元数据后,调用play/pause,以便稍后播放音频。
sprite.addEventListener('loadedmetadata',function(){
精灵。玩();
暂停();
});
在我看来,这两种方法都应该有效,但实际上,只有第二种方法对iOS8有效。我希望这能帮助别人。我有两个应用程序使用HTML5视频。一个停止工作,另一个没有。有两个区别:
- 在将视频标记添加到DOM之后,仍然有效的一个将源标记添加到视频标记
- 仍然有效的应用程序已将自动播放设置为false(
)…
<preference name="AllowInlineMediaPlayback" value="true"/>
到视频
元素
用户界面显示视频正在加载
,而视频。网络状态
保持为2
(网络加载
)和视频。readyState
0(无任何内容
)
Safari回放工作
主屏幕启动器播放不起作用
对于在ios Safari中运行的同一个Web应用程序,主屏幕版本也不会播放视频,并且在尝试更改视频源时会使Web应用程序崩溃
我不喜欢苹果:|看起来iOS 8.3解决了这个问题。我有一个独立的web应用程序,它使用音频元素,现在工作正常。终于 我找到了视频元素,然后在脚本中创建了一个源元素(不是在html中)——我知道这很奇怪:
var video = document.getElementById('theVideo');
var source = document.createElement('source');
source.src = fileLocation
source.type = "video/mp4"
video.appendChild( source );
video.load();
我也承认这是一个老问题,但当我在安装了iOS 8.0.2的iPad上测试时,我遇到了这个问题,这让我抓狂了一天。@IlyaStreltsyn HTML5 Video在iOS 8独立webapp上对我来说不再起作用了。这不仅仅是自动播放的失败,而是标准的“点击播放”手动启动视频的失败。请参阅刚刚在iOS 8.2测试版上测试过的内容,可以确认它仍然没有修复。iOS 8.1.2也不工作。iOS 8.3测试版也不工作:-(视频和音频标签在iOS 8.0.2网络应用程序中被破坏。是否有官方来源证实了这一说法?视频播放在cordova应用程序中也不起作用。点击播放按钮后不会发生任何事情。希望他们能很快修复它。我最担心的事情得到了证实-但感谢确认。这真的很糟糕。iOS 8.1.2中仍然存在破坏。很好的复制e可在上获得。我已向AppleConfirm报告,截至此评论,更改主屏幕web应用程序中的视频源会导致应用程序崩溃。在iOS 7.1上无法确认-在“添加到主屏幕”后不起作用我在ipad上尝试了一个带有嵌入式视频的webview应用程序,但在ios 8.3上不起作用。您是否有任何错误修复的参考资料?我可以确认独立webapp中的视频播放在ios 8.3中起作用,而在8.2中不起作用。我添加了AutoPlay=“flase”我在ios 8.1.3上对它进行了测试。你能告诉我你是如何创建起作用的播放按钮的吗?非常感谢我尝试了$(source.attr('src',myfile);player.load();player.webkitEnterFullscreen();player.play();但是webApp在ios 8.1.3上崩溃了。你能告诉我我做错了什么吗?谢谢你的回复。来源是:var source=document.getElementById('mp4'));我甚至尝试了你的确切代码,并通过此超链接发送了视频url。你会遇到什么崩溃?-例如,你发布的视频文件是404,webApp关闭而不是播放视频。示例url为
var video = document.getElementById('theVideo');
var source = document.createElement('source');
source.src = fileLocation
source.type = "video/mp4"
video.appendChild( source );
video.load();