Ho un dubbio con il seguente frammento di codice ...QAudioInput :: byteReady() e QIODevice :: read() dando diverso numero di byte
const qint64 bytesReady = m_audioInput->bytesReady();
const qint64 bytesSpace = m_buffer.size() - m_dataLength;
const qint64 bytesToRead = qMin(bytesReady, bytesSpace);
const qint64 bytesRead = m_audioInputIODevice->read(m_buffer.data() + m_dataLength, bytesToRead);
metodo bytesReady() mi sta dando un particolare numero di byte e sto passando questo numero di byte al read() di QIODevice che mi restituirà il numero di byte letti.
Il problema è che bytesRead non è uguale a bytesToRead. E sto ottenendo il numero fisso di byte dal metodo di lettura i.e 320, 640, 960, 1280, ecc. E questo dipende da byteToRead.
Puoi provare in un ciclo? cioè 'while (bytesReady = m_audioInput-> bytesReady()> 0) {...}' e dire cosa succede? Come hai inizializzato il QAudioFormat in uso? hai fatto in modo che 'QAudioDeviceInfo :: isFormatSupported()' restituisse true ?? – UmNyobe
tutto funziona bene il problema è con il frammento di codice di cui sopra ... non in realtà un problema, ma un dubbio perché il mio codice è in esecuzione con successo .. – shofee
rispondere ... – shofee