用mpg123播放https协议的URL MP3

mpg123本身是支持URL MP3的,可惜它只支持http协议的url mp3.

好在mpg123还支持从standard input中读取MPEG data,这样以来我们可以通过组合curl与mpg123来实现播放https协议的URL MP3.

#!/bin/bash

# play https mp3 using mpg123

function https_url_p ()
{
    local url=$1
    echo $url |egrep "^https://" >/dev/null
}

uri=$1
if https_url_p $uri;then
    curl -L $uri | mpg123 -
else
    mpg123 $curi
fi

原理很简单:

先判断一个文件是否以 https:// 开头,若是的话,则认为是https url mpg3,那么通过curl将其内容取出来,通过管道发给mpg123来播放.

事实上,curl支持超多的网络协议,你可以很容易的扩展到file,ftp,ftps,rtmp等各种网络协议上.

不过要一个一个判断网络协议的种类就太麻烦了,可以简化成这样:

mpg123 $1 || curl -L $1 |mpg123 -

先尝试用mpg123直接播放,失败的话再听过curl获取MPEG DATA交给mpg123来播放.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值