Я скопировал AQRecorder из примера speakHere вместе со всеми другими необходимыми файлами. После этого я переименовал все классы в цепочке, которая использует его для .mm из-за ошибок компиляции, которые, похоже, теперь решены. Однако я все еще не могу понять, как использовать класс AQRecorder. В этом примере есть еще один класс, называемый SpeakHereController, но это тоже не сработало. Вот код для моей последней попытки:Как использовать AQRecorder из примера Например
#import "AQRecorder.h"
AQRecorder recorder;
[recorder startRecord];
error: bad receiver type 'AQRecorder'
Я знаю, что это не будет работать в течение нескольких причин, одна его не вызывая конструктор, и я считаю, что это должно быть указателем. У меня есть много различных вариантов и, как я сказал, что я также попытался с помощью SpeakHereController:
SpeakHereController * recorder;
recorder = [[SpeakHereController alloc]init];
[recorder startRecord];
Однако это дает ошибку:
Undefined symbols for architecture i386: "AQPlayer::StopQueue()", referenced from: -[SpeakHereController stopPlayQueue] in SpeakHereController.o
"AQPlayer::PauseQueue()", referenced from: -[SpeakHereController pausePlayQueue] in SpeakHereController.o
"AQPlayer::DisposeQueue(unsigned char)", referenced from: -[SpeakHereController stopRecord] in SpeakHereController.o
"AQPlayer::CreateQueueForFile(__CFString const*)", referenced from: -[SpeakHereController stopRecord] in SpeakHereController.o
"AQPlayer::StartQueue(signed char)", referenced from: -[SpeakHereController play:] in SpeakHereController.o interruptionListener(void*, unsigned long) in SpeakHereController.o
"AQPlayer::AQPlayer()", referenced from: -[SpeakHereController awakeFromNib] in SpeakHereController.o
"AQPlayer::~AQPlayer()", referenced from: -[SpeakHereController dealloc] in SpeakHereController.o