PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : streams die 2.



tux#
12.06.2007, 10:11
Kann ir jemand sagen ob (undwenn ja wie) man die Buffergrösse von BinaryReader/Writer ändern kann?

Das Problem:
Ich füttere einen externen Prozess (mpg123) über die Standardeingabe mit Daten.


System.IO.BinaryWriter write = new System.IO.BinaryWriter(play.StandardInput.BaseStre am);
System.IO.FileStream fs = new System.IO.FileStream("mp3.mp3", System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader mp3 = new System.IO.BinaryReader(fs);

...

while ...
mp3.BaseStream.Seek(position, System.IO.SeekOrigin.Begin);
write.Write(mp3.ReadUInt32());
write.BaseStream.Flush();
position=mp3.BaseStream.Position;
...


Über die Variable position ist das Vorwärts/Rückwärtsspulen im Stream realisiert. :D
Wenn ich nun aus einer anderen Methode/Objekt position ändere passiert auch das Erwartete - der Player springt zur angegebenen Stelle im Stream. Aber: mit einer Verzögerung von ca. 2 Sekunden. mpg123 läuft ohne Buffer, also muss irgend ein Buffer im Stream vorhanden sein, den ich nun irgendwie verkleinern möchte. :think:
Gefunden habe ich dazu allerdings keine passenden Methoden/Properties im Monodoc.

Also - hat jemand einen Tip? :hilfe2:

Gruss
tux#