[問題] QAudioInput, QAudioOutput橋接(Done)

看板C_and_CPP (C/C++)作者 (  )時間9年前 (2016/06/01 18:53), 9年前編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Qt 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) Qt 問題(Question): 想把AudioInput(像是mic)的資料從AudioOutput輸出 但QAudioInput::Start(QIODevice *) <這是把mic資料轉到QIODevice裡 QAudioOutput::Start(QIODevice *) <這是把QIODevice的資料丟去給output 而我用QBuffer作他們中間的橋梁, 但是動不了... 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) QByteArray buffer; QBuffer cable(&buffer); cable.open(QIODevice::ReadWrite); . . QAudioInput, QAudioOutput 宣告 . audioInput->start(&cable); audioOutput->start(&cable); 補充說明(Supplement): 如果把output的cable改成QFile(也是QIODevice的一種),就可以從耳機輸出聲音; 如果把input的cable改成QFile,就變成recorder的功能,這兩者看起來是正常的 但是不知道QBuffer的用法哪邊出了問題.. 請各位幫忙。謝謝。 -- 自問自答 主要是QBuffer的 IO點只有一個, 所以多用一個QBuffer去做它的讀寫頭, 然後cable_in負責write,cable_out負責read 就可以接起來了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.21.58 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464778431.A.445.html ※ 編輯: chigi (220.135.21.58), 06/02/2016 14:40:50

06/03 08:17, , 1F
推測因為headset是錄音放音是同個的device
06/03 08:17, 1F

06/03 08:17, , 2F
你這樣宣告是可以
06/03 08:17, 2F

06/03 08:18, , 3F
但不同裝置你這樣宣告可能不行
06/03 08:18, 3F
文章代碼(AID): #1NJhw_H5 (C_and_CPP)
文章代碼(AID): #1NJhw_H5 (C_and_CPP)