bash+mplayer+百度音乐播放
首先声明,该段代码不是我写的。是在开源中国上看到某人分享的一段代码,原理是利用百度api获取一段xml文件,再通过xmllint对xml文件进行处理,进而获取mp3的播放地址,再利用mplayer去调用。
脚本执行方法为:./playbaidumusic.sh,空参则播放“大约在冬季-齐秦”
./playbaidumusic.sh 东风破 周杰伦 ,第一个参数为歌曲名,第二个参数为歌手名。该脚本的内容为:
1#!/bin/bash
2#脚本作用,调用mplayer播放百度音乐,需要预装mplayer
3#定义各种变量
4title=${1:-'大约在冬季'} #歌曲名
5performer=${2:-'齐秦'} #歌手名
6getmp3url(){
7 url='http://box.zhangmen.baidu.com/x?op=12&count=1&title='$title'$$'$performer'$$$$'
8 xml=`curl -s ''$url''`
9 count=`echo $xml | xmllint --xpath '/result/count/text()' - `
10 if [ "$count" -eq 0 ]
11 then
12 exit 1
13 fi
14 encode=`echo $xml | xmllint --xpath '/result/url[1]/encode[1]/text()' - | sed -r 's//1/g'`
15 decode=`echo $xml | xmllint --xpath '/result/url[1]/decode[1]/text()' - | sed -r 's//1/g'`
16 echo `dirname $encode`/$decode
17}
18url=`getmp3url` && mplayer $url || echo "检索结果不存在,请选用别的歌曲名和歌手检索!" && exit 1
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/bash-mplayer-baidump3/3046.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.