Hej gruppe.
Jeg starter en ny tråd da emnet ellers ville være vildledende. Før gik det
ud på at fylde noget syntetisk, men meningsfyldt, i min buffer og så
afspille den. Nu har jeg valgt at prøve at hente "rigtigt" PCM-data ind fra
en wav-fil. Det må simpelt hen kunne bringes til at virke det her.
Jeg ved, at jeg har fået indlæst wav-data rigtigt fordi jeg har sammenlignet
indholdet af min byte-buffer i programmet med indholdet af wav-filen (det
fandt jeg med en hex-editor). Jeg skriver også alle header-informationerne
ud på skærmen under parsing af wav-filen og det ser alt sammen godt ud.
Wav-filen indeholder blot 3 sekunders 440Hz sinusbølge. Formatet er
8bits/sample, mono, 22050 samples/sec.
Jeg hører stadig blot et "klik" i højtalerne. Hvad kan der mon være galt?
Jeg har efterhånden læst hele DirectSound hjælpen tror jeg :)
Jeg har placeret koden på adressen nedenfor hvis nogle gider kigge på den.
Det ville være rigtigt rart hvis jeg blot kunne bringe direct sound til at
afspille denne lille lydfil. Programmet består sådan set bare af en
winMain-funktion som kalder en playSound-funktion som kalder en
readWave-funktion. Hvis koden ellers virker uoverskuelig så skriv endelig.
Det meste er standard-kald til DirectSound og tjek af returværdierne.
http://home20.inet.tele.dk/omo/dsound.cpp
Foreløbig ignorerer jeg blot headerværdierne i wav-filen under parsing af
den, men jeg skriver dem lige ud for at sikre mig at de er som de skal være.
Et andet sted har jeg så angivet værdierne direkte i koden (i en
waveFormat-struct). Det skal selvfølgeligt laves om, sammen med en masse
andet, hvis jeg får det her til at køre.
På forhånd mange tak for evt. hjælp.
Jacob
--
Jacob Jensen
E-mail: jacob@etlivmedsle.dk
Hjemmeside:
www.etlivmedsle.dk