Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么HTML5视频没有';是否无法在IOS 8网络应用程序(webview)中播放?_Ios_Html_Html5 Video_Ios8_Iphone Standalone Web App - Fatal编程技术网

为什么HTML5视频没有';是否无法在IOS 8网络应用程序(webview)中播放?

为什么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

在safari浏览器上播放简单的HTML5视频。但在将其添加到主屏幕(独立WebApp)后,它就不起作用了。它正在iOS7上工作,但在iOS8上停止工作

<!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(
第一个没什么区别,第二个让应用程序再次工作。

打包的cordova应用程序无法加载视频 增加:

<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();