• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > ubuntu下的QT结束arecord进程的问题

ubuntu下的QT结束arecord进程的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了arecord,linux arecord,arecord什么意思,alsa arecord,ubuntu下安装qt等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:ubuntu下的QT结束arecord进程的问题
描述:

ubuntu源码

最近在做一个项目,需要在QT里面实现录音机的功能,录音的功能已经实现了,可以实现,但是结束录音的时候,需要关闭kill录音的进程。因前面实现了aplay播放的功能,已经找到一份获取进程号并且可以正常获取进程号,并成功kill进程。用一样的函数,怎么都获取不到录音的进程,哪位大神能帮忙看看,谢谢!
以下是源码:
1、获取进程号的函数:
int find_pid_by_name( char* ProcName, int* foundpid)
{
        DIR             *dir;
        struct dirent   *d;
        int             pid, i;
        char            *s;
        int pnlen;
        i = 0;
        foundpid[0] = 0;
        pnlen = strlen(ProcName);
        /* Open the /proc directory. */
        dir = opendir("/proc");
        if (!dir)
        {
                printf("cannot open /proc");
                return -1;
        }
        /* Walk through the directory. */
        while ((d = readdir(dir)) != NULL) {
                char exe [PATH_MAX+1];
                char path[PATH_MAX+1];
                int len;
                int namelen;
                /* See if this is a process */
                if ((pid = atoi(d->d_name)) == 0)       continue;
                snprintf(exe, sizeof(exe), "/proc/%s/exe", d->d_name);
                if ((len = readlink(exe, path, PATH_MAX)) < 0)
                        continue;
                path[len] = '\0';
                /* Find ProcName */
                s = strrchr(path, '/');
                if(s == NULL) continue;
                s++;
                /* we don't need small name len */
                namelen = strlen(s);
                if(namelen < pnlen)     continue;
                if(!strncmp(ProcName, s, pnlen)) {
                        /* to avoid subname like search proc tao but proc taolinke matched */
                        if(s[pnlen] == ' ' || s[pnlen] == '\0') {
                                foundpid[i] = pid;
                                i++;
                        }
                }
        }
        foundpid[i] = 0;
        closedir(dir);
        return  0;
}
2、开启录音和关闭录音的函数:  录音功能可以正常开启,但是结束进程的时候出bug,获取不到进程号= =record读音,recordjapan,audiorecord,recordcount,record的意思,recordsource,gotorecord,recordium,record翻译,record用法,record的名词,findrecord,startrecord,record音标,lunaticrecor    
 case 3:
            if(strncmp(argv[0],"90",2)==0 && strncmp(argv[1],"41",2)==0 && strncmp(argv[2],"0",1)==0){
                sprintf(tmp_cmd,"arecord -f S16_LE -r 8000 -B -buffer-szie=4096 /mnt/test/test.wav");
                //strncpy(tmp_cmd,tmp,sizeof(tmp));
                fpid = fork();
                log("start arecord...");
                if(fpid < 0)
                    log("error in fork");
     
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ubuntu下的QT结束arecord进程的问题

相关文章

  • 2017-06-05 关于更新网卡驱动程序中无法运行makeCPU=PENTIUMtool=gnuln97xendo
  • 2017-06-05 想做基于3g的无线视频监控,求大神指教
  • 2017-06-05 如何用十六进制编辑器判断系统的大端/小端字节序?
  • 2017-06-05 NETCFv35Messageszh-CHSwmcab
  • 2017-06-05 没必要参加嵌入式开发培训班,看完你就知道了
  • 2017-06-17嵌入式系统的应用领域
  • 2017-06-05 光圈优先快门优先域名解析优先级问题
  • 2017-06-05 关于TR069的电信中间件
  • 2017-06-05 8051控制數碼管問題
  • 2017-06-05 三星IC销售工程师结交各位朋友,让我们一起分享提成!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 求助,dm642板子串口通信
    • 请教高手,安装驱动时,有没有办法获得该设备对应的instanceid
    • lua.dllLua协程使用困惑求解
    • ■■有谁能提供电脑一拖五BeTwin破解版的下载地址或直接提供该程序?在线等,如能帮忙,立即给分。
    • STM32各个管脚的输入输出配置是根据外设的数据手册配置么?
    • keil4使用问题
    • stm32有必要上ucosIII吗?
    • 嵌入式系统设计的3个层次
    • cidr无分类编址CIDR的作用是什么?
    • 求mps430usb驱动,因为驱动没安上导致BSL下载时老是提示打开串口失败

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有