Re: [Squeak-ev] Sound in String und zurück - Und noch ein Geschwindigkeitsproblem

Klaus Füller Klaus.Fueller at T-Online.de
Son Feb 22 13:15:23 UTC 2009


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