2014-02-21 154 views
0

我正在使用QNX中微子RTOS,我是QNX的新手。我已經在兩個線程之間設置了一些IPC消息的第一個項目。QNX麥克風採樣和揚聲器播放

我想要做的是有一個線程麥克風「驅動程序」,從麥克風和賣場樣品輸入/將其作爲PCM數據包到另一個線程起着出來說話的。

那麼,還有沒有任何音頻支持庫?什麼是實現錄音麥克風輸入和揚聲器輸出的最佳方式?

回答

1

是的,QNX附帶一個音頻庫。

音頻庫文件開始在這個位置(6.5 SP1版本): http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fabout.html&cp=13_1

你的QNX系統包括一個名爲「波」用於播放.wav文件和「waverec」實用(命令)從麥克風錄製音頻並將其保存到.wav文件。

您可以使用「利用波浪」和「使用waverec」用於獲取有關支持的命令行選項的信息的命令。

文檔包括波的完整源和waverec實用程序:

wave.c: http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fwavec.html

waverec.c: http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fwaverec.html

的推薦方法開始音頻記錄和回放是首先讓系統運行的wave和waverec二進制文件。之後,建立提供的源代碼,讓它再次工作,然後理解它並嵌入到應用程序中,可能在將它剝離之後。 (因爲示例是通用的,您可能想要硬編碼樣本中動態配置的某些功能)。

您需要,以建立樣本對libasound.so庫進行鏈接。 一個最小的命令行示例(測試)來構建wave.c爲armlev7和x86:

ntoarmv7-gcc wave.c -o wave -l asound 
ntox86-gcc wave.c -o wave -l asound 

如果您是通過IDE構建,那麼你需要添加庫在適當的設置。

歡迎您在這裏發佈與樣品的工作,而你的任何問題。

+0

非常感謝特立獨行(對於最近的回覆感到抱歉,我不在W/E)。我剛剛獲得這些文件,並將開始與他們一起玩。我開始認爲我需要音頻DDK,但當我在星期五完成時,我一直在努力安裝(這是一些java問題)......這看起來更簡單,我希望:),我可能會提供你的報價也發佈問題! –

+0

「Maverick,我有QNX 6.4.0(致力於升級到6.5.0 SP1),所以我找到了該版本的waverec.c文件,我將它製作成了一個QNX c項目,但它不能生成。所有的asoundlib.h函數都失敗了,頭文件在那裏,但是在閱讀了一些文檔之後,看起來實際的庫可能不會隨QNX一起發佈(有些LGPL問題)。看看如何解決這個...任何想法 –

+0

音頻功能在libasound定義,因此,你需要對鏈接;?我更新了命令行的例子後做 至於音頻DDK,您需要如果你想開發一個音頻驅動程序。音頻驅動程序通常是BSP的一部分,您不必擔心這一點。 – maverick

相關問題