AVAssetWriterInputReadyForMoreMediaData总为false。
创始人
2024-11-12 20:30:21
0次

问题出现的原因可能是写入速度过慢,导致下一个可用的缓冲区未能及时提供给AVAssetWriterInput。可以通过以下代码解决:

//初始化AVAssetWriterInput对象和output设置
let videoOutputSettings: Dictionary = [
    AVVideoCodecKey: AVVideoCodecType.h264,
    AVVideoWidthKey: frameSize.width,
    AVVideoHeightKey: frameSize.height
]

videoWriterInput = AVAssetWriterInput(mediaType: AVMediaType.video, outputSettings: videoOutputSettings)
let videoInputQueue = DispatchQueue(label: "video input queue")
videoWriterInput!.expectsMediaDataInRealTime = true

//将AVAssetWriterInput与AVAssetWriter绑定
let videoOutput = AVAssetWriterInputPixelBufferAdaptor(assetWriterInput: videoWriterInput!, sourcePixelBufferAttributes: nil)
videoWriter?.add(videoWriterInput!)

//在capture输出数据中调用下面的方法来写入视频数据到AVAssetWriterInput中
func writeVideo(buffer: CVPixelBuffer, time: CMTime) -> Void {
    if (videoWriterInput!.isReadyForMoreMediaData) {
        videoInputQueue.sync {
            if let adpator = videoOutput {
                adpator.append(buffer, withPresentationTime: time)
            }
        }
    }
}

在以上代码中,我们使用videoInputQueue来确保append()请求按照顺序调用,并且我们检查了AVAssetWriterInput的可用性,以确保不会在未准备好时提供更多的数据。

相关内容

热门资讯

记者揭秘!起来麻将辅助脚本软件... 记者揭秘!起来麻将辅助脚本软件,起来麻将一贯是有辅助揭露方法1、用户打开应用后不用登录就可以直接使用...
分享开挂内幕!南通快胡麻将辅助... 分享开挂内幕!南通快胡麻将辅助脚本软件,南通快胡麻将确实是真的有辅助揭幕神器在进入南通快胡麻将软件靠...
推荐一款!泸州大贰麻将透视挂脚... 推荐一款!泸州大贰麻将透视挂脚本软件,泸州大贰麻将真是有透视挂教你工具1.泸州大贰麻将 选牌创建新账...
盘点一款!扬州麻将辅助脚本软件... 盘点一款!扬州麻将辅助脚本软件,扬州麻将一直是真的有辅助有挂脚本1)扬州麻将有没有挂:进一步探索扬州...
重大推荐!云上麻将辅助器脚本软... 重大推荐!云上麻将辅助器脚本软件,云上麻将一直真的有辅助器了解攻略小薇(辅助器软件下载)致您一封信;...
推荐一款!聚乐惠开挂脚本软件,... 推荐一款!聚乐惠开挂脚本软件,聚乐惠果然存在有开挂揭幕工具1、进入到聚乐惠是否有挂之后,能看到左侧胜...
玩家交流!天涯麻将辅助器脚本软... 玩家交流!天涯麻将辅助器脚本软件,天涯麻将一贯是真的有辅助器总结方法1、实时天涯麻将透视辅助更新:用...
新手必备!好友赣南辅助器脚本软... 新手必备!好友赣南辅助器脚本软件,好友赣南其实存在有辅助器了解工具1、很好的工具软件,可以解锁游戏的...
专业讨论!悠闲坦克辅助器脚本软... 专业讨论!悠闲坦克辅助器脚本软件,悠闲坦克好像存在有辅助器必备技巧1、悠闲坦克透视辅助软件激活码多个...
来一盘!微乐四川麻将移动版透视... 来一盘!微乐四川麻将移动版透视挂脚本软件,微乐四川麻将移动版总是是有透视挂教你app1、许多玩家不知...