Qtを使用してオーディオ出力を作成しています。オーディオ出力の例があり、純粋な仮想関数 qint64 QIODevice::readData ( char * data, qint64 maxSize ) がこのように再実装されています (これは例の実際のコードではありません)。
qint64 Generator::readData(char *data, qint64 len)
{
memcpy(data, m_buffer.data(), len);
return len;
}
したがって、データへのポインターを取得し、バッファーからこのデータにメモリをコピーします。次のように、ポインターデータを新しい場所に割り当てることができるかどうか疑問に思っています。
qint64 Generator::readData(char *data, qint64 len)
{
data = m_buffer.data();
return len;
}
なぜなら、memcpy は遅く、C です。ありがとうございました!
OK、「何が遅いのか」というコメントを受け取らないでください: 1 つ目 - memcpy はポインター割り当てよりも遅い 2 つ目 - はい、サウンドの再生にレイテンシーがあります。プログラムをあらゆる点で最適化したいと考えています。
PS私はそれをやろうとしていますが、音が出ないので、答えはノーかもしれません. それでなんで?