===============音频=================
一、手机如何播放音乐
1)播放器: 酷狗/QQ音乐/网易云
2)音乐类型: ***.MP3
二、gec6818的开发板怎么播放音乐?
1)播放器: madplay播放器
2)库:.so
例如:libJPEG.so.9 ***.so 库名 9版本号
----》封装函数接口
3)madplay播放同样也需要库来支持
旧版本:libid3tag.so.0 -----》解码mp3格式
三、如何去播放一首歌?
1.下载madplay播放器到开发板bin
2.通过rx或者U盘挂载
3.命令cd /mnt/udisk 进入U盘
4.命令cp madplay /bin 将文件拷贝到彬
5.命令cd /bin里面 修改madplay播放器权限
6.命令cd /
下载一首歌到开发板
madplay 音乐名.mp3
把耳机或者外接设备 插到绿色的接口上
播放:使用命令madpaly
madplay 1.mp3 前台播放
madpaly 1.mp3 & 后台播放
四、如何去用代码去调用
调用系统命令的函数 system()
查询 man 3 system
#include <stdlib.h>
函数原型:int system(const char *command);
返回值:成功 返回一个大于0的数 >0
失败 返回-1
参数:const char *command 命令字符串
=========================
#include <stdlib.h>
#include <stdio.h>
int main()
{
int ret;
ret=system("madplay 1.mp3 &");
if(ret == -1)
{
perror("system false!\n");
return -1;
}
return 0;
}
=============================
五、关于这个madplay播放器的音量调节
madplay播放器都是有自己的参数----》类似于 ls -l
查看参数列表 madplay --help
以下的两个参数,用来修改madplay音量
-a, --attenuate=DECIBELS attenuate signal by DECIBELS (-)
-a, --amplify=DECIBELS amplify signal by DECIBELS (+)
madplay: decibel value must be in the range -175 to +18 dB
system("madplay --attenuate=-20 1.mp3 &");
六、如何去暂停、继续、停止音乐 基于后台
1.注意:我们是去改变音乐播放的状态,而不是直接去影响编解码
2.通过进程去改变,进程的信号
查看信号量:kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
主要使用的信号量3个:18) SIGCONT 继续
19) SIGSTOP 暂停
9) SIGKILL 杀死进程madplay
调用实例:killall -进程值 madpaly