新录制视频的 MediaFile.getFormatData() 包含错误信息
Posted
技术标签:
【中文标题】新录制视频的 MediaFile.getFormatData() 包含错误信息【英文标题】:MediaFile.getFormatData() of newly-recorded video contains bad information 【发布时间】:2014-06-10 19:57:08 【问题描述】:我使用 Cordova (PhoneGap via Ionic) 3.x 及其捕获插件从设备的摄像头录制视频。录制完成后,我想获取视频的持续时间以在我的应用程序中使用。但是,当我在 iPad 上运行此测试时,MediaFileData 对象包含归零信息。这是一个sn-p:
navigator.device.capture.captureVideo(
function(files)
var videoFile = files[0];
videoFile.getFormatData(function(fileData)
console.log('file data:' + JSON.stringify(fileData));
);
);
控制台输出为:
file data:"width":0,"duration":0,"bitrate":0,"codecs":null,"height":0
ios 中是否存在已知错误?我在documentation 的警告部分没有看到任何内容。非常感谢任何帮助。
【问题讨论】:
您找到解决此问题的方法了吗? c0r3yz:不,我没有。在文件写入完成后,我必须通过重新查询媒体资产来解决这个问题。即使这样,如果写入文件和元数据的时间过长,也会发生竞争情况。我向 Cordova 提交了一个错误,但也没有听到任何消息。 感谢您的回复!我最终通过使用文件的大小而不是持续时间来解决它。 【参考方案1】:我也被这个问题困住了。 确保您拥有最新版本的插件。此处已修复:
CB-7117
如果您无法更新插件,请执行以下操作:
var videoFile = files[0];
videoFile.localURL = videoFile.fullPath;
希望对你有帮助!
【讨论】:
以上是关于新录制视频的 MediaFile.getFormatData() 包含错误信息的主要内容,如果未能解决你的问题,请参考以下文章