在IOS上的Cordova/Phonegap中播放视频javascript blob

use*_*673 5 javascript html5-video ios cordova

我正在播放在Cordova应用程序包装器中播放在IOS 7上编码为blob的视频.我从本地数据存储中提取视频作为base64编码的字符串,然后将其转回Uint8Array.从那里使用createObjectURL获取blob /文件URI,并将其用作标记的源.这是代码.我使用相同的方法从数据存储区中提取PDF并使用PDF.js渲染它,但是

// ignore the first 12 bytes of the base64EncodedVideo
var base64EncodedVideo = collateral.body.substring(12);
var array= str_to_ab(b64_to_utf8(base64EncodedVideo));
var blob = new Blob([array.buffer], {type: 'video/mp4'});
var url = window.URL.createObjectURL(blob);
$j("#videoContent").prop("src", url);
$j.mobile.changePage('#videoPage', {changeHash: true}); 
Run Code Online (Sandbox Code Playgroud)

....

function str_to_ab(str) { 
    var bufView = new Uint8Array(str.length);
    for (var i=0; i< str.length; i++) {
        bufView[i] = str.charCodeAt(i);
    }
    return bufView;
}

function b64_to_utf8( str ) {
    return (window.atob(str));
}
Run Code Online (Sandbox Code Playgroud)

我已经确认该对象正确地从数据存储区出来并且可以作为文件播放(一旦删除base64编码等).

我也尝试使用数据URI传递base64编码的字符串,但这在IOS上都不起作用.

有什么想法或建议吗?