Hallo,
seit ein paar Tagen befasse ich mich damit, Sound in mein aktuelles Projekt einzubauen. Da ich eine Methode einbauen will, die es mir ermöglicht, einen Sound mit veränderter Tonhöhe (und auch veränderter Geschwindigkeit) abzuspielen, nahm ich mir die "Rohdaten" in byte[] Form und wollte sie erstmal in unmodifizierter Form abspielen. Daran scheitert es aber bereits, denn zwar wird der Sound an sich fehlerfrei abgespielt, aber während er abgespielt wird, stoppt mein gesamtes Programm, was nicht grade schön ist.
Kurz gesagt, spiele ich das byte[], nachdem ich es geladen habe, hiermit ab:
( line ist eine SourceDataLine und toPlay ist das angesprochene byte[] )
Mit AudioClips und Clips hatte ich dieses Problem der Ausführungsverzögerung nicht. Gibt es eine Möglichkeit, ein byte[] abspielen zu lassen, ohne dass der restliche Code in dieser Zeit Kaffepause macht?
seit ein paar Tagen befasse ich mich damit, Sound in mein aktuelles Projekt einzubauen. Da ich eine Methode einbauen will, die es mir ermöglicht, einen Sound mit veränderter Tonhöhe (und auch veränderter Geschwindigkeit) abzuspielen, nahm ich mir die "Rohdaten" in byte[] Form und wollte sie erstmal in unmodifizierter Form abspielen. Daran scheitert es aber bereits, denn zwar wird der Sound an sich fehlerfrei abgespielt, aber während er abgespielt wird, stoppt mein gesamtes Programm, was nicht grade schön ist.
Kurz gesagt, spiele ich das byte[], nachdem ich es geladen habe, hiermit ab:
( line ist eine SourceDataLine und toPlay ist das angesprochene byte[] )
Java:
line.write(toPlay, 0, toPlay.length);
Mit AudioClips und Clips hatte ich dieses Problem der Ausführungsverzögerung nicht. Gibt es eine Möglichkeit, ein byte[] abspielen zu lassen, ohne dass der restliche Code in dieser Zeit Kaffepause macht?