2012-07-03 37 views
2

我已經從speakHere示例以及所有其他需要的文件中複製了AQRecorder。在這樣做之後,我重命名了鏈中的任何類,因爲編譯錯誤,這些類似於現在已經解決了。 但是我仍然無法弄清楚如何使用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的原因是該方法與初始化類似,初始化AQRecorder/AudioQueue的所有設置