2012-07-03 2 views
2

Я скопировал 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

ответ

1

Я закончил с использованием этой

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

Однако я только нужен рекордер, и для этого я должен был прокомментировать все ссылки AQPlayer из файла. По какой-то причине у него была куча ошибок компоновщика с методами воспроизведения.

Причина для вызова awakeFromNib заключается в том, что метод аналогичен init, инициализируя все настройки для AQRecorder/AudioQueue