我想用它afplay
打开 URL 而不是文件。
帮助页面仅显示:
Audio File Play
Version: 2.0
Copyright 2003-2013, Apple Inc. All Rights Reserved.
Specify -h (-help) for command options
Usage:
afplay [option...] audio_file
Options: (may appear before or after arguments)
{-v | --volume} VOLUME
set the volume for playback of the file
{-h | --help}
print help
{ --leaks}
run leaks analysis
{-t | --time} TIME
play for TIME seconds
{-r | --rate} RATE
play at playback rate
{-q | --rQuality} QUALITY
set the quality used for rate-scaled playback (default is 0 - low quality, 1 - high quality)
{-d | --debug}
debug print output
我尝试将 cURL 导入其中并将其设置-
为输入文件(与其他命令一起使用)但没有成功。
$ curl "https://server.com/file.ogg" | afplay -
unknown argument: -
还有其他方法可以实现我的愿望吗?
答案1
据我所知,aplay
不支持从 stdin 进行管道输入。一个[丑陋的]解决方法可能是抓取文件,将其存储在下方/tmp
并从那里播放 ti:
$ curl -s https://server.com/file.ogg > /tmp/file.ogg && afplay /tmp/file.ogg
答案2
Afplay 不支持从 stdin 进行流式传输,但您可以创建一个文件描述符并流式传输到其中,然后让 afplay 从您正在流式传输到的文件中读取数据。
这是一个流式传输 somafm 广播的工作示例:
exec 3<> /tmp/file.mp3 && curl -s http://ice1.somafm.com/defcon-128-mp3 2>&1 | tee >&3 | (sleep 1; afplay /tmp/file.mp3)