2017-05-08 10 views
2

Momentan arbeite ich an einer Anwendung, die einen Audio-Stream (RAW-codierte Bytes) aufnimmt und einige Transformationen darauf anwendet (Resampling, Umwandlung von Stereo in Mono usw.). Ich habe Encoding Rohbytes mit Opus-Codec dank JNI implementiert, aber ich habe ein kleines Problem:Hören auf OPUS encoded stream

Gibt es eine Möglichkeit, opus-kodierten Stream in einer Datei gespeichert zu hören? Ich bin mir bewusst, dass wenn ich einige Dateiheader hinzufügen und einige zusätzliche Operationen machen sollte ich in der Lage sein soll, es als OGG-Datei zu speichern, aber ich möchte keine Zeit mit der Implementierung von Funktionen verschwenden, nur um Audio im Test zu hören.

Idealerweise würde ich gerne ein Werkzeug finden, das in der Lage wäre, einen solchen Stream zu spielen, wie Audacity spielt RAW (nach dem Hinzufügen von Encoding-Parametern natürlich).

Vielen Dank.

+0

Sie haben die Arbeit bereits getan ... Sie haben den Codec genau dort ... nur dekodieren und spielen. Was genau fragst du? – Brad

+0

Ich suche nach einer Möglichkeit, codierte Bytes zu hören. Ich möchte es nicht in einige Dateien einpacken. Ich möchte nur die Bytes in eine Datei pushen und ein Werkzeug benutzen (das mir nicht bekannt ist), um es anzuhören. –

+0

Einige Tools wie VLC? Oder in deiner Bewerbung? – Brad

Antwort

2

Haben Sie das opusdec-Dienstprogramm aus dem OPUS-Toolpaket getestet?

Dieses Dienstprogramm sollte Ihnen erlauben, opus stream zu nehmen und es als PCM-codierte wav-Datei abzuspielen, die Sie in der Lage sein sollten, einen Befehlszeilen-WAV-Player zu puffern und ihn anzuhören. Keine Notwendigkeit für eine Implementierung, nur ein Shell-Befehl, der über Runtime.Exec(), ausgeführt wird. Sollte es tun

z. Für ein System mit Pulseaudio installiert

yourstream.opus | padsp opusdec - 

wenn kein Pulseaudio jeder wav Spieler die wav-Stream-Ausgabe und spielen Sie es verwenden können. Für z.B.

opusdec --force-wav yourinput.opus - | <YOUR WAV Stream Accepting Player> 
+0

Danke, das werde ich definitiv versuchen! –