我已经从speakHere示例以及所有其他需要的文件中复制了AQRecorder。这样做之后,由于编译错误,我现在将链中使用它的所有类重命名为.mm,现在似乎已经解决了。
但是我仍然不知道如何使用AQRecorder类。在该示例中还有另一个名为SpeakHereController的类,但该类也不起作用。
这是我最近尝试的代码:

#import "AQRecorder.h"

    AQRecorder recorder;
    [recorder startRecord];

错误:接收器类型“AQRecorder”错误

我知道这不会工作有几个原因,一个原因是它没有调用构造函数,我也相信这应该是一个指针。
我有许多不同的变化,就像我说过的,我也尝试过使用SpeakHereController:
 SpeakHereController * recorder;
    recorder = [[SpeakHereController alloc]init];
        [recorder startRecord];

但是,这会产生错误:

体系结构i386的未定义符号:“AQPlayer::StopQueue()”,
引用自:
-SpeakHereController.o中的[SpeakHereController stopPlayQueue]

“AQPlayer::PauseQueue()”,引用自:
-SpeakHereController.o中的[SpeakHereController pausePlayQueue]

“AQPlayer::DisposeQueue(unsigned char)”,引用自:
-SpeakHereController.o中的[SpeakHereController stopRecord]

“AQPlayer::CreateQueueForFile(__ CFString const *)”,引用自:
-SpeakHereController.o中的[SpeakHereController stopRecord]

“AQPlayer::StartQueue(signed char)”,引用自:
-[SpeakHereController播放:]在SpeakHereController.o中
SpeakHereController.o中的interruptListener(void *,无符号长)

“AQPlayer::AQPlayer()”,引用自:
-[SpeakHereController.o中的[SpeakHereController awakeFromNib]

从以下引用的“AQPlayer::〜AQPlayer()”
-SpeakHereController.o中的[SpeakHereController dealloc]

最佳答案

我最终使用了这个

   SpeakHereController * recorder;
    recorder = [[SpeakHereController alloc]init];
    [recorder awakeFromNib];

但是,我只需要记录器,为此,我必须从文件中注释掉所有AQPlayer引用。无论出于何种原因,它的play方法都有很多链接器错误。

调用awakeFromNib的原因是该方法与init很像,它初始化了AQRecorder / AudioQueue的所有设置

关于ios - 如何从这里的示例使用AQRecorder,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11318493/

10-09 09:15