【发布时间】:2016-12-09 16:34:09
【问题描述】:
我想在我的 PhoneGap 应用中使用 video 标签来播放应用内存储的文件。不幸的是,我无法找到解决文件的方法。当我在外部将我的标签定义为
<video controls id="introVideo">
<source src="http://techslides.com/demos/sample-videos/small.mp4" type=video/mp4>
</video>
一切正常(当我将文件加载到设备中的永久存储并从那里播放时也是如此)。当我这样做时,我喜欢这个
<source src="/www/graphics/video/small.mp4" type=video/mp4>
出现 JS 错误“加载资源 small.mp4 失败”,视频播放器显示视频长度为 0:00。当我这样做时
<source src="file:///android_asset/www/graphics/video/small.mp4" type=video/mp4>
没有错误,但是视频播放器显示的视频长度是1:40(原来是0:05),点击播放按钮没有任何反应。
我的文件定位函数的输出
FA.getInAppFilePath = function(filePath,successCallback, failCallback)
{
window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + 'www/' + filePath, function (fileEntry) {
console.log(JSON.stringify(fileEntry));
}, failCallback);
}
控制台输出:
{
"isFile":true,
"isDirectory":false,
"name":"small.mp4",
"fullPath":"/www/graphics/video/small.mp4",
"filesystem":"<FileSystem: assets>",
"nativeURL":"file:///android_asset/www/graphics/video/small.mp4"
}
因此,它证明文件位于移动设备上。在这里您可以看到上述 3 个示例的视频播放器截图:
任何想法,如何正确地做到这一点?
【问题讨论】: