Ich habe dir bewusst die "Low Level
API" empfohlen, da du damit nicht den Header übergeben musst. Außerdem kannst du mit PlaySound keine längeren Musikstücke abspielen. Ist der Soundbuffer voll, dann ist es mit Abspielen zu Ende (normalerweise nach 1-2 Minuten).
Mit WaveOut kannst du (wie in dem Tutorial beschrieben) sowohl das gleiche Verhalten wie PlaySound erreichen und alle Daten auf einmal in den Soundbuffer laden, oder die Daten an den Soundkartentreiber streamen, wodurch du beliebig lange Stücke abspielen kannst.
Schau mal hier:
http://www.delphipraxis.net/internal...t.php?t=139422 - Im Sourcecode des Programms ist ein Wrapper für das WaveOut Interface enthalten. Das kannst du dir ja mal anschauen.