智能家居实训第六天 音频 视频播放器

版权声明:版权归零零天所有 https://blog.csdn.net/qq_39188039/article/details/83892188

===============音频=================
一、手机如何播放音乐
 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
     

 github源代码
   
   

猜你喜欢

转载自blog.csdn.net/qq_39188039/article/details/83892188