繁体   English   中英

在Meteor生成的iOS应用中使本地HTML5视频工作

[英]Getting Local HTML5 Video working in Meteor generated iOS app

我正在使用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" type="video/mp4">
    </video

 {{else}}
    Desktop

         <video control id="example_video_1" width="50%" height="20%" src="/my_vid.mp4">
        </video>

{{/if}}
</template>

桌面版可以正常运行,但是在将视频播放到iOS版时遇到了问题。

这是我对应的Video.js代码:

if(Meteor.isClient)
{


Template.video.rendered = function()
{

    videojs("example_video_1",
      {
        "controls" : true,
        "autoplay": true,
        "techOrder" : ["html5", "flash"],
        preload: "auto"
      },
        function()
        {

        }
    )
}

Template.video.helpers({
    cordova: function()
    {
        getBlobURL("/my_vid.mp4", "video/mp4", function(url, blob) 
        {
            $("video")[0].src = url
        });


        return Meteor.isCordova;
    }
    })

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



}

此代码段:

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

解决方案是否来自这个SO问题 我尝试实现此解决方案,但不能解决我的问题。

描述我也试着加入config.xml和移动config.js文件在这里

似乎问题与Cordova设置了错误的MIME类型有关,并且我之前引用的SO问题有一个显然有效的解决方案,但我似乎无法使其正常工作。 任何帮助将不胜感激。

为视频创建Blob URL是正确的选择,但是您还必须确保iOS版本高于8.1.2。

我升级到8.2,之后我的代码似乎可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM