Ich bin etwas neu in Haskell, und als ein Anfänger-Projekt versuche ich, ein wenig Musik Visualizer zu machen.Haskell: gelesene feste Menge von Daten aus Named Pipe
Normalerweise benutze ich ncmpcpp + mpd als Musikplayer, und deshalb habe ich eine FIFO benannte Pipe, die rohe PCM-Daten an /tmp/mpd.fifo sendet.
Was ich tun möchte, ist in einer festen Menge von PCM-Samples aus dieser Datei zu lesen, eine FFT für diesen Datenblock durchzuführen, die Ausgabe zu drucken und dann zu wiederholen. Ich habe Data.Stream, Data.Bytestring in der Haskell-Bibliothek betrachtet, kann aber nicht herausfinden, wie man einfach eine bestimmte Menge an Daten aus der Named Pipe erhält.
Ich denke, es muss eine einfache Möglichkeit, dies zu tun, und ich vermisse nur etwas nicht verstehen, so dass jede Hilfe geschätzt wird.
Was ist falsch mit 'hGet' von' Data.ByteString'? Sie können die Anzahl der Bytes angeben, die Sie lesen möchten. – Alec
@Alec: Könnten Sie das als Antwort verwenden? Es wäre auch gut hinzuzufügen, wie man ein "Handle" von einer Named Pipe (die ich selbst nicht kenne) bekommt. –
Ja, das macht es! Ich habe es als Antwort veröffentlicht, nachdem ich das Snippet verwendet habe, um es vollständig herauszufinden. – Rigel