Hi ihr,
in DirectSound SecondaryBuffer gibt es ja auch die Möglichkeit einen System.IO.Stream zu übergeben.
Kann mir jemamnd mal ein Minibeispiel geben in dem ein Stream erzeugt und übergeben wird zum abspielen?
==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================
FileStream fs = new FileStream(@"C:\test.mp3", FileMode.Open);
So übergibst du den Stream an den SecondaryBuffer:
SecondaryBuffer sb = new SecondaryBuffer(fs, myDevice);
Ich hoffe, dass ich dir helfen konnte 🙂
Ich glaube DirectSound kann keine Mp3s abspielen. Nur Wave-Dateien mit PCM-Audiodaten. Kann mich aber auch irren.
Danke sehr, der Code war richtig, aber leider hat Pulpapex recht, mp3 gehen nicht. Wie kann ich denn mit DirectX Musik abspielen, außer mit AudioVideoPlayback ?
==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================
Auch wenn ich mich in die Gefahr begebe mich zu täuschen: Gar nicht.
MP3s können nur über AudioVideoPlayback abgespielt werden. Wenn dir da die Lösungen von Managed DirectX nicht reichen, musst du dir wohl oder übel eine andere API suchen oder selbst versuchen was zu schreiben (z.B. einen eigenen Wrapper um die unmanaged-Version von DirectAudio).
Ich hab mich damit auch gerade etwas beschäftigt, bin aber der Meinung dass für die Hintergrundmusik das AVPlayback wohl reichen wird und für Soundeffekte das DirectSound, habe aber gerade mit der Musik auch nichts besonderes vor. Wer das hat muss sich wie gesagt was anderes "beschaffen".