[原创]Mplayer播放器在命令行下的列表制作和思路

jackxiang 2009-8-11 11:50 | |
原来想的是用一个对列来调用一个播放器进行温度报警和系统的状态检查啥的,最后没有想到还是得用Mplayer的播放列表来做,于是就涉及到把某个$HOME/music下的歌,都制作成一个播放列表,怎么做?还有就是一旦我有了播放列表,怎么随意添加 或删除其中的一些歌?

$ ls $HOME/music > music.lst
添加
echo music.mp3 >> music.lst
删除
用编译器打开music.lst删除你想删除的
播放
$ mplayer -playlist music.lst #也有可能是mplayer --playlist music.lst,记不清啦,自己看一下mplayer --help
有了这样一个基础,那么就可以通过程序去自动构造播放列表了!!!
附加信息:
linux 下mplayer播放列表制作的一个方法

   在终端如果输入 mplayer xxx.mp3 就会播放了,输入 mplayer /.../* 就可以播放这个路径下的所有支持的多媒体文件了,为了省去每次都输入绝对路径的麻烦,可以制作mplayer的播放列表,以后只要播放这个列表就可以了。假设自己的多媒体文件放在路径 /mnt/dpan/music/ ,将制作好的播放列表放在路径 ~/music/ ,制作方法如下:

          1.   #echo /mnt/dpan/music/* ~/music/xxx.lst        回车,xxx是你要创建的列表的文件名;

        2.   打开xxx.lst ,对其编辑,可以看到里面的曲目信息没有换行,用鼠标点在每个空各处,回车,使每个曲目占一行,这一步的编辑不能少,否则这个列表是不能播放的。

        3.   这样一个列表就制作好了,输入#mplayer -playlist ~/music/xxx.lst ,就可以播放列表中的所有音乐了,通过 pageup 和pagedown 来选择歌曲,通过上,下,左,右方向键可以调节歌曲的进度。

        注:你也可以将某一个歌曲文件添加到播放列表中,方法一样,只须将 上面的所有文件换成某个具体的文件。 本方法是在 http://hi.baidu.com/pxrchen/blog/item/2998d1516654e92542a75b9e%2Ehtml 的基础上改进而来的。

安装方法:
tar jxvf MPlayer-1.0rc2.tar.bz2
./configure--prefix=/usr/local/mplayer
cd MPlayer-1.0rc2
make;makeinstall;
/usr/local/mplayer/bin/mplayer
/usr/local/mplayer/bin/mplayer:errorwhileloadingsharedlibraries:libiconv.so.2:cannotopensharedobjectfile:Nosuchfileordirectory
whereis libiconv.so.2
libiconv.so:/usr/local/lib/libiconv.so.2/usr/local/lib/libiconv.so

ln-s/usr/local/lib/libiconv.so.2/usr/lib

/usr/local/mplayer/bin/mplayer

MPlayer1.0rc2-4.1.2(C)2000-2007MPlayerTeam
CPU:Intel(R)Pentium(R)Mprocessor1.70GHz(Family:6,Model:13,Stepping:6)

列表做法:
$ ls $HOME/music/*.mp3 > music.lst
[root@localhost Mplayer]# vi music.lst
1.mp3
2.mp3
3.mp3
mplayer -playlist music.lst
即可!
Mplayer正在运行,你再运行一个播放列表。
[root@localhost Mplayer]# ps aux|grep mpl
root      8866  4.0  0.2  24588  3908 pts/1    S+   19:57   0:04 mplayer -playlist music.lst
root      8875  0.0  0.0   5016   692 pts/3    R+   19:59   0:00 grep mpl

出现错误:
[root@localhost Mplayer]# mplayer ~/Mplayer/music.lst
MPlayer 1.0rc2-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 1.70GHz (Family: 6, Model: 13, Stepping: 6)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing /root/Mplayer/music.lst.
Win32 LoadLibrary failed to load: avisynth.dll, /usr/local/mplayer/lib/codecs/avisynth.dll, /usr/lib/win32/avisynth.dll, /usr/local/lib/win32/avisynth.dll

这样也就只能一次播放一个列表,直到这个播放完毕再播放下一个列表。
如果你想在它播放music.lst的时候进行echo "1.mp3" >> music.lst来插入的话,最后它还是不会播放你插入的那个Mp3,估记在它调入的时已经把那个文件给读取到内存了。特别注意!

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1920/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2009-8-11 14:38
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]