新录制视频的 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() 包含错误信息的主要内容,如果未能解决你的问题,请参考以下文章

分享几个4412开发板新录制的视频,不是VIP也能看

前端 视频录制剖析

分辨录制的视频和选定的视频之间的区别

使用增强现实录制视频的最佳方式是什么?

win10怎么录制电脑屏幕 电脑录制视频

如何给自己的手机录制屏幕视频