我已经通过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]
答案 0 :(得分:1)
我最终使用了这个
SpeakHereController * recorder;
recorder = [[SpeakHereController alloc]init];
[recorder awakeFromNib];
但是我只需要录音机,为此我必须注释掉文件中的所有AQPlayer引用。无论出于何种原因,它在播放方法中都有一堆链接器错误。
调用awakeFromNib的原因是该方法很像init,初始化AQRecorder / AudioQueue的所有设置