L'exemple est un peu énigmatique mais le fichier wave est configuré pour être à 2 canaux donc les deux écritures envoient simplement les mêmes données audio aux deux canaux.
L'en-tête d'onde est ce bit hardcoded:
Dim Hdr() As Integer = {&H46464952, 36 + Bytes, &H45564157, _
&H20746D66, 16, &H20001, 44100, _
176400, &H100004, &H61746164, Bytes}
Quels sont les moyens décodée:
H46464952 = 'RIFF' (little endian)
36+Bytes = Length of header + length of data
H45564157 = 'WAVE' (little endian)
H20746D66 = 'fmt ' (little endian)
16 = length of fmt chunk (always 16)
H20001 = 0x0001: PCM,
0x0002: 2 channels
44100 = sampleRate
176400 = sampleRate*numChannels*bytesPerSample = 44100*2*2
H100004 = 0x0004: numChannels*bytesPerSample,
0x0010: bitsPerSample (16)
H61746164 = 'data'
Bytes = size of data chunk
Vous pouvez répondre vous-même: commenter l'un d'eux et l'exécuter et voir ce que le résultat est – Plutonix
J'ai essayé cela et j'ai obtenu des résultats étranges. Si je commente le premier, j'obtiens une erreur sur la commande SP.Play(). Si je commente le second, j'ai le son, mais une octave plus haut. Impossible d'expliquer ces résultats ... – swabygw
Il est possible que la seconde écriture ne fasse que balayer la première écriture –