Am 22.02.2009 um 13:16 schrieb Klaus Füller:
> 1. Problem:
>
> Ich versuche, einen Sound über das Netz zu übertragen (an ein nicht-
> Squeak-System). Dazu will ich den Sound in ein ByteArray wandeln.
> Also probiere ich es zunächst rein lokal (ohne Netz):
>
> sound play. **> Sound spielt (wenn auch zu schnell)
> sound samplingRate. --> 22050
> sound --> a SequentialSound
Lösung, allerdings mit dem Nachteil, dass beim Empfang die
samplingRate nicht mehr bekannt ist und dass der Sound in Mono
gewandelt wird ... (die Envelopes gehen verloren ...)
Statt
> str := WriteStream on: ByteArray new. --> a WriteStream a ByteArray()
> sound storeAIFFSamplesOn: str. --> a SequentialSound
> str contents size --> 42586
>
> wstr := ReadStream on: str contents --> aReadStream aByteArray .......
> wstr contents size --> 42586
>
> r := AIFFFileReader new. --> an AIFFFileReader
> r readFromStream: wstr mergeIfStereo: false skipDataChunk: false
> Kein Gemeckere
> r sound --> a SampledSound (???)
> r sound play **> Unverständliches Rauschen!
schreibt man einfacher:
samples := sound samples asByteArray
rsamples := SoundBuffer fromByteArray: samples.
rsound := SampledSound samples: rsamples samplingRate: 22050.
rsound play
> Was mache ich falsch??
>
> 2. Problem (weniger wichtig):
>
> Ich nehme den Sound mit dem SoundRecorder auf. Allerdings spielt er
> viel schneller ab als ich aufnehme?
>
> Klaus