AVAssetWriterasyncvideoandaudioaftercallingbroadcastPaused()
创始人
2024-11-12 20:30:12
0

当在调用broadcastPaused()函数后异步写入音视频时,可能会遇到此问题。解决方法是使用AVAssetWriter的waitForAsynchronousWrites()函数来等待异步写入完成,然后再调用finishWriting(completionHandler:)函数结束视频录制。

示例代码如下:

// 在调用broadcastPaused()后异步写入音视频
writer?.startSession(atSourceTime: CMClockGetTime(CMClockGetHostTimeClock()))
if writer?.status == .writing {
    let audioInput = audioWriterInput
    let videoInput = videoWriterInput
    
    // 异步写入音频和视频
    writer?.startWriting()
    writer?.startSession(atSourceTime: CMSampleBufferGetPresentationTimeStamp(sampleBuffer))
    if audioInput.isReadyForMoreMediaData && videoInput.isReadyForMoreMediaData {
        audioInput.append(sampleBuffer)
        if let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) {
            let timestamps = CMSampleBufferGetPresentationTimeStamp(sampleBuffer)
            videoInput.append(imageBuffer, withPresentationTime: timestamps)
        }
    }
    
    // 等待异步写入完成
    writer?.waitForAsynchronousWrites {
        writer?.finishWriting(completionHandler: { [weak self] in
            // 结束录制
        })
    }
}

相关内容

热门资讯

揭幕透视!wepoker-h5... 揭幕透视!wepoker-h5下载!实测交流辅助攻略(有挂教学)-哔哩哔哩一、wepoker-h5下...
详情透视!wejoker手机版... 详情透视!wejoker手机版透视脚本!玩家必备攻略辅助攻略(有挂秘诀)-哔哩哔哩1、许多玩家不知道...
必备透视!aapoker辅助插... 必备透视!aapoker辅助插件工具!一秒答解辅助技巧(有挂神器)-哔哩哔哩aapoker辅助插件工...
科普透视!wepoker轻量版... 科普透视!wepoker轻量版书签!我来教教大家辅助攻略(果真有挂)-哔哩哔哩1、每一步都需要思考,...
详情透视!拱趴大菠萝怎么开挂!... 详情透视!拱趴大菠萝怎么开挂!玩家必备教程辅助教程(有挂解密)-哔哩哔哩1、该软件可以轻松地帮助玩家...
辅助透视!pokemmo手机版... 辅助透视!pokemmo手机版脚本免费!指导大家辅助技巧(有人有挂)-哔哩哔哩;1、下载好pokem...
普及透视!aapoker俱乐部... 普及透视!aapoker俱乐部靠谱吗!我来教教大家辅助脚本(存在有挂)-哔哩哔哩1、aapoker俱...
关于透视!wepoker提高好... 您好,wepoker提高好牌率这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
揭幕透视!wepoker辅助器... 揭幕透视!wepoker辅助器有哪些功能!推荐十款辅助工具(有挂功能)-哔哩哔哩1)wepoker辅...
关于透视!hhpoker到底可... 关于透视!hhpoker到底可以作弊吗!今日百科辅助app(有挂秘诀)-哔哩哔哩1、上手简单,内置详...