智慧家居實訓第六天 音訊 視訊播放器
===============音訊================= 一、手機如何播放音樂 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