bash+mplayer+百度音乐播放

2014年2月26日 发表评论 阅读评论

首先声明,该段代码不是我写的。是在开源中国上看到某人分享的一段代码,原理是利用百度api获取一段xml文件,再通过xmllint对xml文件进行处理,进而获取mp3的播放地址,再利用mplayer去调用。

脚本执行方法为:./playbaidumusic.sh,空参则播放“大约在冬季-齐秦”
./playbaidumusic.sh 东风破 周杰伦 ,第一个参数为歌曲名,第二个参数为歌手名。该脚本的内容为:

#!/bin/bash
#脚本作用,调用mplayer播放百度音乐,需要预装mplayer
#定义各种变量
title=${1:-'大约在冬季'} #歌曲名
performer=${2:-'齐秦'}   #歌手名
getmp3url(){
    url='http://box.zhangmen.baidu.com/x?op=12&count=1&title='$title'$$'$performer'$$$$'
    xml=`curl -s ''$url''`
    count=`echo $xml | xmllint --xpath '/result/count/text()' - `
    if [ "$count" -eq 0 ]
    then
        exit 1
    fi
    encode=`echo $xml | xmllint --xpath '/result/url[1]/encode[1]/text()' - | sed -r 's/<![CDATA[(.+)]]>/1/g'`
    decode=`echo $xml | xmllint --xpath '/result/url[1]/decode[1]/text()' - | sed -r 's/<![CDATA[(.+)]]>/1/g'`
    echo `dirname $encode`/$decode
}
url=`getmp3url` && mplayer $url || echo "检索结果不存在,请选用别的歌曲名和歌手检索!" && exit 1




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.