如何从说话的例子中使用AQRecorder

时间:2012-07-03 20:14:13

标签: ios audioqueue

我已经通过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.o中的[SpeakHereController play:]         SpeakHereController.o中的interruptionListener(void *,unsigned long)

     

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

     

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

1 个答案:

答案 0 :(得分:1)

我最终使用了这个

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

但是我只需要录音机,为此我必须注释掉文件中的所有AQPlayer引用。无论出于何种原因,它在播放方法中都有一堆链接器错误。

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