Zwei soundbuffer nahtlos abspielen?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Kurzer
Beiträge: 1614
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Zwei soundbuffer nahtlos abspielen?

Beitrag von Kurzer »

Hallo,
Kann man in PureBasic zwei Soundbuffer nahtlos hinter einander abspielen?

Man kann zwar die Position des aktuell abspielen Sounds ermitteln, aber kann man währenddessen einen zweiten Soundbuffer füllen, der im Anschluss nahtlos abgespielt wird?

Zweck der Sache ist eine endlose Wiedergabe eines berechneten Sounds, weshalb die streamingfaehigkeiten von PB hier nicht genutzt werden können.

Wenn man alternativ auf den PB internen Buffer des gerade abgespielten sounds zugreifen könnte, dann könnte man diesen jeweils zur Hälfte mit neuen Daten bestuecken, während die andere Hälfte abgespielt wird.

Habe leider gerade kein PB zur Hand (tippe per Handy), aber das ganze wurde mich mal interessieren. Habe früher auf dem Amiga mal so einen Streamingplayer geschrieben.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.
Benutzeravatar
Regenduft
Beiträge: 574
Registriert: 25.03.2008 15:07
Wohnort: THE LÄÄÄND!

Re: Zwei soundbuffer nahtlos abspielen?

Beitrag von Regenduft »

Auch wenn der Thread schon sehr alt ist...

Da könnte man (wenn man auf externe Libs verzichten will) prinzipiell PureBasics Music-Library zweckentfremden oder PlaySound() mit dem #PB_Sound_Loop-Flag. In beiden Fällen bekommt man von div. Funktionen "den einen oder anderen Zeiger bzw. Handle" rückgegeben, daher denke ich schon, dass es (wenn auch ziemlich "hacky") möglich ist.

Ich schreibe das zugegebener Maßen nicht ganz uneingennützig... das ganze steht für mein aktuelles Projekt auf der todo-Liste (aber ziemlich weit hinten)... vielleicht kann man sich da ja austauschen... Für das XM-Format habe ich z.B. schonmal eine gute Dokumentation. Das ist nicht sonderlich komplex. Wenn Du erfahrener Amiga-Veteran bist, dann kennst Du Dich da evtl. ja gut aus.
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
Antworten