3

我有一个用于音频实验的小型 Python 库,目前该库将原始波形数据写入磁盘,然后我可以将其输入afplay到播放声音之类的东西中。

但是,我很好奇,如果我可以直接从记忆中播放音频。我尝试创建一个命名管道(因为afplay它需要一个文件名作为它的第一个参数),但不幸的是它抛出了错误Error: AudioFileOpen failed ('typ?')

有没有一种简单的方法可以从命名管道流式传输音频?有没有更好的方法来完成我想做的事情?

4

1 回答 1

3

您可以使用SoX的播放或FFmpeg的 ffplay。

以 sox 为例:

yourcommand | play -t wav  -

的参数-t取决于您的命令执行的音频输出类型。

ffplay 示例:

yourcommand | ffplay -

与命名管道类似:

mkfifo /tmp/fifo
yourcommand > /tmp/fifo

sox -t wav /tmp/fifo  ## on another shell or terminal
于 2013-09-11T15:03:45.507 回答