音视频播放器

一. mplayer

在ubuntu上使用mplayer,需要安装:sduo apt-get install mplayer

在开发板上使用mplayer,需要移植


mplayer有两种工作模式,一种是普通模式,一种是 slave 模式


1. 普通模式

播放命令:mplayer -quiet 音视频文件名
在这种模式下可以直接通过键盘快捷键控制播放,其中 -quiet 是不打印多余信息

常见的有:

        left  /  right  向后 / 向前搜索10秒

        up  /  down  向后 / 向前搜索 1 分钟

        注意:up   down  left  right  是键盘的方向键


        p  /  SPACE(空格键)     暂停播放 (按任意键继续)

        q  /  ESC                       停止播放并退出


2.  salve模式

在播放音视频时加上参数 -slave (不加则是普通文件)

        mplayer -quiet -slave 音视频文件名

在这种模式下可以从标准输入设备获取命令来控制播放


// 常用命令

loadfile newfile // 会结束正在播放的文件,播放新文件---newfile


volume x  // 设置音量,中间的x为音量的大小

volume +5  // 音量+5

volume -5  // 音量-5

-af volume=-20  // 设置视频初始音量为-20

例如:"mplayer -quiet -slave -af volume=-20 -input file=./fifo 1.mp4 -geometry 0:0 -zoom -x 800 -y 400"


mute 1/0   // 静音开关,1:静音;0:取消静音

pause   // 暂停,取消暂停


quit     // 退出MPlayer

get_time_length  // 返回值是播放文件的长度,以秒为单位


seek value   // 向前查找到文件的位置参数   参数 value 为秒数

        seek 5   // 快进5s

        seek -5  // 快退5s

get_percent_pos   // 返回播放进度的百分比 (0 --- 99)


get_time_pos  // 返回当前播放位置的时间,单位是秒,采用浮点型


// 其他命令

get_file_name  // 打印出当前文件名


get_meta_album  // 打印出当前文件的"专辑"的元数据


get_meta_artist   // 打印出当前文件的"艺术家"的元数据


get_meta_comment   // 打印出当前文件的"评论"的元数据


get_meta_genre   // 打印出当前文件的"流派"的元数据


get_meta_title    // 打印出当前文件的'标题'的元数据

get_meta_year   // 打印出当前文件的'年份'的元数据

 

3. 从管道文件中获取命令

在slave模式下,不但可以从标准输入设备获取命令,还可以从指定的有名管道中获取命令

        mplayer -quiet -slave -input file=管道文件名字 音视频文件名

        我们可以通过写代码往这个管道文件中写入命令来控制 mplayer

如:

        一个进程执行:mplayer -quiet -slave -input file=/home/china/1.fifo 1.mp4

        另一个进程往 /home/china/1.fifo 管道中写入命令即可控制 mplayer 的播放

        int fd = open("/home/china/1.fifo",O_RDWR);

        if (-1 == fd) {

                perror("open failed");

                return -1;

        }

        write(fd,"pause\n", 6);// 注意所有命令都以 \n 结束才会有效

        close(fd);

4. 如果是播放视频,可以设置窗口位置和大小

        在开发板上播放视频,除了播放窗口外,还需要留一些空间显示控制图标 (如:静音,播放暂停按钮,上下曲切换,快进快退......)

        所以需要设置窗口位置及大小

        如:

                -geometry  0:0  -zoom -x 400 -y 400

        -geometry 0:0  // 指定播放窗口的起始位置

        -zoom -x 400 -y 400  // 指定播放窗口的宽和高

二. 项目要求

1. 能够使用mplayer播放器在6818上进行音视频播放

        知识点:mplayer移植

2. 能够通过屏幕以及按键控制音视频的播放

        例如:上一首 / 下一首,暂停,开始,静音 ......

        知识点:mplayer、管道、并发

3. 能够检索默认路径下的文件并进行保存以播放

        知识点:文件IO,数据结构

4. 能够连接指定的服务器,从其中下载相应的资源到本地进行播放

        知识点:网络编程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值