system(madplay music.mp3 )之后无法暂停播放音乐

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:28   1346   0

事情是这样的,下面这段代码是当点击坐标范围从(100,250)到(150,220)的区域时会播放音乐(这片点击是用于触摸屏的可以忽略,关键是音乐播放了之后,音乐没办法停下来)

 if(100<ts.x && ts.x < 250 && 150<ts.y && ts.y <220)//播放音乐
      {
       printf("music playing\n");
       system("madplay music.mp3");
       printf("music play finish\n");
      }
      else if(400<ts.x && ts.x < 570 && 150<ts.y && ts.y <220)//音乐暂停 
      {
          printf("music stopping\n");
       system("killall -STOP madplay &"); 
      } 
      else if(100<ts.x && ts.x < 250 && 320<ts.y && ts.y <390)//音乐继续 
      {
          printf("music continue\n");
       system("killall -CONT madplay &");   
      } 

下载到开发板上进行调试的时候发现,点击播放音乐,音乐确实可以播放,控制台打印出了"music playing",但是没有打印出"music play finish”,说明程序在播放音乐时,一直停在system("madplay music.mp3 ")处,无法运行下面的程序,也就无法将音乐暂停。

解决办法:

将下面这个代码

system("madplay music.mp3 ");

改成这样的

system("madplay music.mp3 &");

就可以在播放音乐后,继续运行下面的程序,暂停音乐。但是一旦经过暂停后,只能选择音乐继续,这时再点击播放音乐没有反应的。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP