プロが教えるわが家の防犯対策術!

ファイル名:audioinput.cpp Example File
URL:https://doc.qt.io/qt-5/qtmultimedia-multimedia-a … <ーーURL

下記のコード『void InputTest::readMore()』は、mic読取り用のバッファーが
readyになった時にconnect文よりcallされます。

Q1)ここで、m_bufferにreadとwriteが行なわれていると思いますは、
何故書き戻しのwriteが必要でしょうか?
例えば、読取り量が不足の場合に対応して、書き戻しを行っているとか?
私のこの推測は間違いでしょうか?
この件について、コメント頂けますと大変有りがたいです

注)qint64 AudioInfo::writeData(const char *data, qint64 len)の
dataにmic読取りデーターが入っていますので、それをmicデータ
として利用しています。


void InputTest::readMore()
{
if (!m_audioInput)
return;
qint64 len = m_audioInput->bytesReady();
if (len > BufferSize)
len = BufferSize;
qint64 l = m_input->read(m_buffer.data(), len); <ーー読込
if (l > 0)
m_audioInfo->write(m_buffer.constData(), l); <ーー書き戻し
}
以上、宜しくお願いします。

A 回答 (1件)

m_input->read したものを m_audioInfo->write してますよね?


m_input == m_audioInfo なら「書き戻し」かもしれませんが、別ですよね?
    • good
    • 0
この回答へのお礼

毎度、お世話になります
>m_input->read したものを m_audioInfo->write してますよね?
m_input == m_audioInfo なら「書き戻し」かもしれませんが、別ですよね?
<ーーこのwriteから、m_audioInfoの中のwriteDataに行くようです。このwriteDataで、個々のbyteデータを取り出す様です。
コメント有難う御座いました。

お礼日時:2017/06/09 23:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!