我需要调用 CMSampleBufferCreateCopy 函数来创建 SampleBuffer 的副本,但我无法真正弄清楚如何使用它。
根据这个解决方案,它应该像这样工作:
var bufferCopy: Unmanaged<CMSampleBuffer>!
let error = CMSampleBufferCreateCopy(kCFAllocatorDefault, sampleBuffer, &bufferCopy)
Run Code Online (Sandbox Code Playgroud)
但事实并非如此。
我收到的错误消息:
Cannot invoke 'CMSampleBufferCreateCopy' with an argument list of type '(CFAllocator!, CMSampleBuffer!, inout Unmanaged<CMSampleBuffer>!)'
Run Code Online (Sandbox Code Playgroud)
编辑:
@availability(iOS, introduced=4.0)
func CMSampleBufferCreateCopy(allocator: CFAllocator!, sbuf: CMSampleBuffer!, sbufCopyOut: UnsafeMutablePointer<Unmanaged<CMSampleBuffer>?>) -> OSStatus
/*! @param allocator
The allocator to use for allocating the CMSampleBuffer object.
Pass kCFAllocatorDefault to use the default allocator. */
/*! @param sbuf
CMSampleBuffer being copied. */
/*! @param sbufCopyOut
Returned newly created CMSampleBuffer. */
/*! …Run Code Online (Sandbox Code Playgroud) 我正在更改应用程序意图定义,但当我尝试将更改后的意图用作快捷方式中的操作时,这些更改不会反映在快捷方式应用程序中。
尝试运行快捷方式会出现异常:
[执行] Perform() 返回未在方法签名中声明的类型
AppIntents/PerformActionExecutorTask.swift:78:致命错误:perform() 返回的类型未在方法签名中声明
有没有办法强制重新加载快捷方式应用程序以获得新意图,或者我是否缺少一些更基本的东西?
我有一个从 Ogg Stream 的 Vorbis 获取初始标头信息的示例:
ogg_packet header;
ogg_packet header_comm;
ogg_packet header_code;
vorbis_analysis_headerout(&vd,&vc,&header,&header_comm,&header_code);
Run Code Online (Sandbox Code Playgroud)
如何使用 libopus 从 Opus 获取此标头信息?这里有一些信息,但我不知道如何使用它。