Как использовать AQRecorder из приведенного здесь примера

Я скопировал AQRecorder из примера speakHere вместе со всеми остальными необходимыми файлами. После этого я переименовал все классы в цепочке, использующие его, в.mm из-за ошибок компиляции, которые, похоже, сейчас устранены. Однако я все еще не могу понять, как использовать класс AQRecorder. В этом примере есть еще один класс, который называется SpeakHereController, но он тоже не работает. Вот код для моей последней попытки:

#import "AQRecorder.h"

    AQRecorder recorder;
    [recorder startRecord];

ошибка: неверный тип получателя 'AQRecorder'

Я знаю, что это не сработает по нескольким причинам, одна из которых не вызывает конструктор, и я считаю, что это должен быть указатель. У меня есть много разных вариантов, и, как я уже сказал, я также пытался использовать SpeakHereController:

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

Однако это дает ошибку:

Неопределенные символы для архитектуры i386: "AQPlayer::StopQueue()", на которую ссылаются из: -[SpeakHereController stopPlayQueue] в SpeakHereController.o

"AQPlayer:: PauseQueue ()", на который ссылаются из: -[SpeakHereController pausePlayQueue] в SpeakHereController.o

"AQPlayer:: DisposeQueue (unsigned char)", на который ссылаются из: -[SpeakHereController stopRecord] в SpeakHereController.o

"AQPlayer:: CreateQueueForFile (__ CFString const *)", на который ссылаются из: -[SpeakHereController stopRecord] в SpeakHereController.o

"AQPlayer:: StartQueue (подписанный символ)", на который ссылаются из: -[SpeakHereController play:] в SpeakHereController.o interruptListener(void*, unsigned long) в SpeakHereController.o

"AQPlayer:: AQPlayer ()", на который ссылаются из: -[SpeakHereController awakeFromNib] в SpeakHereController.o

"AQPlayer:: ~ AQPlayer ()", на который ссылаются из: -[SpeakHereController dealloc] в SpeakHereController.o

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам