在IOS上当我使用cordova filetransfer插件下载一些视频时,它不会播放(绝对网址如:file:///var/mobile../videos/1.mp4),但是当我播放视频时进入它的应用程序(相对URL像:"视频/ 1.mp4")。
在Android上都有效。
脚本:
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/download.php");
fileTransfer.download(
uri,
fileURL,
function(entry) {
generateMarkup(entry);
},
function(error) {
handleError(error);
},
);
generateMarkup()函数按照w3c http://www.w3schools.com/html/html5_video.asp
的建议创建标记<video width="320" height="240" controls>
<source src="file:///var/mobile/.../movie.mp4" type="video/mp4">
<source src="file:///var/mobile/.../movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
我已经写了帮助打印出存储在app沙箱中的所有文件,因此文件在那里,路径是正确的,但它没有播放。
答案 0 :(得分:0)
经过两天的挖掘后发现了这个页面:https://issues.apache.org/jira/browse/CB-6051
什么有助于弄清楚iOS 7.x?无法处理源元素中的本地绝对路径。 (我的:iOS 7.0.4)它只是给出一个与线交叉的播放图标。
这不起作用:
<video width="320" height="240" controls>
<source src="file:///var/mobile/.../movie.mp4" type="video/mp4">
<source src="file:///var/mobile/.../movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
然而这个最终有效......
<video width="320" height="240" src="file:///var/mobile/.../movie.mp4" controls>
Your browser does not support the video tag.
</video>
希望它有所帮助。