Ich habe "chunks"
von Audio (in mp3
format) für eine sql
-Datenbank, dh Sie können sich eine mp3
-Datei vorstellen, die auf die gleiche Größe von Chunks aufgeteilt ist und jeder Chunk wird in einem Record auf einem gespeichert sql
server db. Diese chunks
werden über einen WCF
-Dienst an die Desktop-Clients zurückgegeben. natürlich fragt der Client nach dem nächsten Chunk, wenn er einen bekommt (sie werden in der Reihenfolge empfangen, also kommt der Header zuerst!)
Hier ist die Frage, wie kann ich diese empfangene chunks
in meiner Desktop App nacheinander abspielen?
kann ich sie Rücken an Rücken mit jedem Stück spielen, um den Spieler zu puffern?
Bitte beachten Sie: -Der Desktop-Client ist in C # -Der Player kann WMP sein, wenn es für diesen Zweck funktioniert! -chunks werden in Bytes gespeichert - Aus irgendwelchen Gründen ist das "Chunk on Sql" -System bereits von jemand anderem implementiert. Ich muss nur einen Weg finden, sie wie einen Stream auf dem Desktop zu spielen.
Danke!
Wenn Ihr MP3-Player von einem System.IO.Stream-Objekt abgespielt werden kann, implementieren Sie Ihre eigene Stream-Klasse mit dem folgenden
%Vor%Damit werden die Datenblöcke in eine Warteschlange gestellt. Die Read-Methode liest sie in der Reihenfolge aus, in der sie hinzugefügt wurden.
Dieser Code liest nur jeweils einen Chunk, kann aber erweitert werden, um in einem separaten Thread zu lesen und mehrere Chunks aufzufüllen.
Wenn Sie davon ausgehen, dass Sie eine Methode haben, sie in der Datenbank entsprechend zu bestellen, wenn der Benutzer sie anfordert, ist Ihre Aufschlüsselung ziemlich einfach. Im Pseudocode
Senden Sie die Chunks im Wesentlichen so lange an den Benutzer, bis die Fußzeile gefunden wird, und spielen Sie die Chunks so ab, als wären sie vollständig.