播放音频
安装sox
sudo apt-get install sox
sudo apt-get install libsox-fmt-all
然后直接使用
system["play {path}"]
需要注意的是,音频如果一直连续播放会有概率卡死,导致进程卡死。所以最好把播放音频统一放到线程里去执行,并且每播放一次,加一个间隔时间
#include <iostream>
#include <thread>
#include <pthread.h>
using namespace std;
static int soundIndex=0;
void playSounds(){
while (true )
{
switch (soundIndex)
{
case 1:
system("play Sounds/start.mp3");
sleep(1);
system("play Sounds/readygo.mp3");
break;
case 2:
system("play Sounds/IDRepetition.wav");
break;
case 3:
system("play Sounds/TagRepetition.wav");
break;
case 4:
system("play Sounds/battOk.wav");
break;
case 5:
system("play Sounds/battLow.wav");
break;
case 6:
system("play Sounds/grade_ok.mp3");
break;
case 0:
/* code */
break;
default:
break;
}
soundIndex=0;
usleep(500000);
}
}
int main(){
thread soundTH(playSounds);
soundTH.detach();
while (true)
{
sleep(1);
}
}
通过修改soundIndex值来播放对应的音频。