首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NSData转换为CMSampleBufferRef

将NSData转换为CMSampleBufferRef
EN

Stack Overflow用户
提问于 2013-10-25 22:39:23
回答 1查看 2.6K关注 0票数 4

有没有办法从NSData创建CMSampleBufferRef?NSData对象以前也是从CMSampleBufferRef构建的。我需要转换,因为我想保存CMSampleBufferRef帧(作为NSData),这些帧是使用AVFoundation从现场摄像机拍摄的,然后能够使用CMSampleBufferRef帧(通过将NSData对象转换为CMSampleBufferRef)来构建视频。

先谢谢你...

EN

回答 1

Stack Overflow用户

发布于 2021-06-11 16:52:49

代码语言:javascript
复制
-(AudioBufferList *) getBufferListFromData: (NSData *) data
{
       if (data.length > 0)
       {
            NSUInteger len = [data length];
            //I guess you can use Byte*, void* or Float32*. I am not sure if that makes any difference.
            Byte * byteData = (Byte*) malloc (len);
            memcpy (byteData, [data bytes], len);
            if (byteData)
            {
                 AudioBufferList * theDataBuffer =(AudioBufferList*)malloc(sizeof(AudioBufferList) * 1);
                 theDataBuffer->mNumberBuffers = 1;
                 theDataBuffer->mBuffers[0].mDataByteSize = len;
                 theDataBuffer->mBuffers[0].mNumberChannels = 1;
                 theDataBuffer->mBuffers[0].mData = byteData;
                 // Read the data into an AudioBufferList
                 return theDataBuffer;
             }
        }
        return nil;
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19592820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档