Javascript 在Meteor生成的iOS应用程序中运行本地HTML5视频
我正在使用Meteor构建一个iOS应用程序,它要求我播放本地存储的mp4,但移动应用程序不显示任何视频 我有这个模板:Javascript 在Meteor生成的iOS应用程序中运行本地HTML5视频,javascript,ios,cordova,meteor,html5-video,Javascript,Ios,Cordova,Meteor,Html5 Video,我正在使用Meteor构建一个iOS应用程序,它要求我播放本地存储的mp4,但移动应用程序不显示任何视频 我有这个模板: <template name="video"> {{#if cordova}} Mobile Player <video webkit-playsinline id="example_video_1" width="50%" height="20%"> <source src="/my_vid.mp4
<template name="video">
{{#if cordova}}
Mobile Player
<video webkit-playsinline id="example_video_1" width="50%" height="20%">
<source src="/my_vid.mp4" type="video/mp4">
</video
{{else}}
Desktop
<video control id="example_video_1" width="50%" height="20%" src="/my_vid.mp4">
</video>
{{/if}}
</template>
这个片段:
function getBlobURL(url, mime, callback) {
var xhr = new XMLHttpRequest();
xhr.open("get", url);
xhr.responseType = "arraybuffer";
xhr.addEventListener("load", function() {
var arrayBufferView = new Uint8Array( this.response );
var blob = new Blob( [ arrayBufferView ], { type: mime } );
var url = window.URL.createObjectURL(blob);
callback(url, blob);
});
xhr.send();
}
这是一个解决方案。我尝试实施此解决方案,但它无法解决我的问题
我还尝试添加config.xml和mobile-config.js文件,如前所述
这个问题似乎与Cordova设置了错误的MIME类型有关,所以我之前提到的问题有一个解决方案,显然是有效的,但我似乎无法让它起作用。非常感谢您的帮助。为您的视频创建Blob URL是正确的选择,但您还必须确保您的iOS版本高于8.1.2 我升级到8.2,之后我的代码似乎运行良好
function getBlobURL(url, mime, callback) {
var xhr = new XMLHttpRequest();
xhr.open("get", url);
xhr.responseType = "arraybuffer";
xhr.addEventListener("load", function() {
var arrayBufferView = new Uint8Array( this.response );
var blob = new Blob( [ arrayBufferView ], { type: mime } );
var url = window.URL.createObjectURL(blob);
callback(url, blob);
});
xhr.send();
}