[問題] QAudioInput, QAudioOutput橋接(Done)
開發平台(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
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
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章