看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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
bab7171: 推測因為headset是錄音放音是同個的device 06/03 08:17
bab7171: 你這樣宣告是可以 06/03 08:17
bab7171: 但不同裝置你這樣宣告可能不行 06/03 08:18