Bonjour,
Je reprends actuellement l'exemple AudioInput de Qt mais j'aurais besoin d'éclairer deux points :
1) La différence entre les modes pull et push : Tel que je l'ai compris pour l'instant, se serait une différence à l'appel de l'enregistrement via la méthode start. Pull permettrait le passage des données directement au deviceIO alors que Push permet de faire un pré-traitement sur les données lors de la lecture, avant enregistrement. C'est bien ça ?
2) Le traitement effectué à l'intérieur de la méthode writeData() :
- Que représentent vraiment channelBytes et sampleBytes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 qint64 AudioInfo::writeData(const char *data, qint64 len) { if (m_maxAmplitude) { Q_ASSERT(m_format.sampleSize() % 8 == 0); const int channelBytes = m_format.sampleSize() / 8; const int sampleBytes = m_format.channels() * channelBytes; Q_ASSERT(len % sampleBytes == 0); const int numSamples = len / sampleBytes; // ...
- Pourquoi le nombre de bits sur lequel l'échantillon est codé est divisé par 8 ? Je ne comprends pas vraiment le rapport avec les canaux ici.
Merci beaucoup!
Partager