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() :

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;
// ...
- Que représentent vraiment channelBytes et 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!