【问题标题】:Undefined symbols for _CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer_CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer 的未定义符号
【发布时间】:2012-05-29 08:52:12
【问题描述】:

我有这段代码试图用来捕获音频数据。但是编译器抱怨CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer

    -(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection {
        AudioBufferList audioBufferList;
        NSMutableData *data= [[NSMutableData alloc] init];
        CMBlockBufferRef blockBuffer;
        CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(sampleBuffer, NULL, &audioBufferList, sizeof(audioBufferList), NULL, NULL, 0, &blockBuffer);

        for (int y = 0; y < audioBufferList.mNumberBuffers; y++) {
            AudioBuffer audioBuffer = audioBufferList.mBuffers[y];
            Float32 *frame = (Float32*)audioBuffer.mData;

            [data appendBytes:frame length:audioBuffer.mDataByteSize];
        }
    CFRelease(blockBuffer);
    blockBuffer=NULL;
    [data release];
}

错误:

架构 armv7 的未定义符号:
“_CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer”,引用 从: -[MicCommunicator captureOutput:didOutputSampleBuffer:fromConnection:] 在 MicCommunicator.old:未找到架构 armv7 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看 调用)

【问题讨论】:

  • 是否有理由将帧附加到单个数据中?我问的原因是我使用相同的函数 CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer 来获取数据并通过网络发送它以供 AudioQueue 读取.. 但由于某种原因,它到达的都是乱码和东西.. 我不认为它是一个 ABSD 格式问题,因为我对发送方和接收方都使用标准 lPCM..
  • @www.fossfactory.org 是的。我用于发送的 httpclient 将 NSData/NSMutableData 作为参数。所以我最容易将它用作容器。任何时候我的音频出现乱码都是因为它使用了错误的格式(不是 ulaw)。但我的设置不同。
  • 我知道这有点像警察,但我已经花了一个多星期的时间来摆弄格式(以及其他所有内容)但没有结果..查看这个问题中的代码(你看到格式有什么问题吗?)我只是使用 PCM 格式输入和输出:stackoverflow.com/questions/12264799/…
  • @www.fossfactory.org 我有时间会去看看。最终帮助我的一件事(在这个问题上工作了几个月)是 Apple 为开发人员提供支持。您的订阅可免费获得 2 个。我从来不知道开发支持,所以我想也许你也不知道。

标签: ios audio


【解决方案1】:

链接器找不到符号表示包含该符号的库/框架未列为构建目标的依赖项。在 Xcode 中,选择您的目标,转到“Build Phases”,打开“Link Binary with Libraries”并添加 CoreMedia。

【讨论】:

猜你喜欢
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
  • 2019-05-13
  • 2020-01-27
  • 2012-12-21
  • 1970-01-01
相关资源
最近更新 更多