[问题] QAudioInput, QAudioOutput桥接(Done)

楼主: chigi (  )   2016-06-01 18:53:49
开发平台(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的用法哪边出了问题..
请各位帮忙。谢谢。
作者: bab7171   2016-06-03 08:17:00
推测因为headset是录音放音是同个的device你这样宣告是可以但不同装置你这样宣告可能不行

Links booklink

Contact Us: admin [ a t ] ucptt.com