在Linux普通用户上安装madplayer过程及遇到的问题解决方法

在Linux普通用户上安装madplayer过程及遇到的问题解决方法:

安装过程:

0.准备工作

创建madplay编译目录:

mkdir -p /madplay/target

cd /madplay/target

用rz命令将ftp中zlib-1.1.4.tar.gz, madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz四个源码包上传到/madplay/target目录。

 

1. 安装压缩库zlib

解压zlib-1.1.4.tar.gz源码包,并cd 进入zlib-1.1.4源码包目录

配置:

./configure--prefix=/madplay/target/

编译并安装:

make && make install

 

2.安装ID3标签编辑库 libid3tag

libid3tag库在使用的时候会自动连接zlib库,所以在编译的时候就需要显式的指定zlib库的连接位置。

libid3tag-0.15.1b库需要依赖1.1.4及以上版本的zlib库,所以安装的先后次序不能颠倒。

一些参数的说明:

      --disable-debugging       do not compile with debugging support,and use more optimizations

      --disable-shared          do not build a shared library Bydefault the package will build a shared library if possible for your platform.If you want only a static library, use --disable-shared.

解压libid3tag-0.15.1b.tar.gz源码包,并cd 进入libid3tag-0.15.1b源码包目录。

配置libid3tag:

CPPFLAGS=-I/madplay/target/includeLDFLAGS=-L/madplay/target/lib ./configure --enable-static --disable-shared--disable-debugging --prefix=/madplay/target/

编译并安装:

make && make install

 

3.安装MPEG音频解码库libmad(支持.mp1, .mp2, .mp3解码)

解压libmad-0.15.1b.tar.gz源码包,并cd 进入libmad-0.15.1b源码包目录。

配置:

CFLAGES=-I/madplay/target/includeLDFLAGS=-L/madplay/target/lib ./configure --disable-debugging --enable-static--disable-shared --prefix=/madplay/target/

编译并安装:

make && make install

 

 

4.安装播放器madplay

解压madplay-0.15.2b.tar.gz源码包,并cd 进入madplay-0.15.2b源码包目录。

配置:

CPPFLAGS=-I/madplay/target/includeLDFLAGS=-L/madplay/target/lib ./configure --enable-static --disable-shared--disable-debugging --without-esd --prefix=/root/madplay/madplay-0.15.2b/target

 

编译madplay:

make

 

此时,madplay程序就已经生成了,用file命令查看可知是静态编译好的程序。

 

5.测试运行

用rz命令将windows上的某首mp3歌曲上传至linux系统中,

如“洪雨雷-留下.mp3”

运行

./madplay洪雨雷-留下.mp3

检查播放情况。

问题解决方法:

1. 在普通用户上无法创建/madplay/target目录

解决方法:

在命令前加sudo

2. 修改普通用户密码:

① 忘记密码的情况下:

在root上使用:passwd [用户名]

注释:很多情况下会有这个密码过于简单这类的提示,不用管它,它依然会让你更新密码成功的,但这个密码不一定可以解决你所遇到的问题。于是你可以到普通用户上接着修改,至到成功为止。

②记得密码的情况下:

在普通用户上使用:passwd

3. 用户不在sudoers文件中的解决方法

①切换到root用户权限,查看/etc/sudoers文件权限,如果只读权限,修改为可写权限

查看权限命令条:ls -l /etc/sudoers

修改权限命令条:chmod 777 /etc/sudoers

②编辑/etc/sudoers文件

编辑命令条:vi /etc/sudoers

在文件中找到root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:

root    ALL=(ALL)       ALL

user    ALL=(ALL)       ALL

保存退出,并恢复/etc/sudoers的访问权限为440

4. 安装libmad出现版本错误

解决方法:

    你打开根目录下的Makefile并去掉里面出现的"-fforce-mem"就可以了(原因:你用的gcc版本过高,此版本的gcc没有"-fforce-mem"参数)。

5. linux下的madplay播放器,编译执行后出现audio: /dev/dsp: 没有那个文件或目录

解决方法:

在当前目录下依次使用以下两条命令:

mknod /dev/dsp c 14 3

②chmod 666 /dev/dsp 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值