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上都不起作用.
有什么想法或建议吗?
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |