当前位置:  技术问答>linux和unix

录音暂停后的可疑数据。。。

    来源: 互联网  发布时间:2016-07-23

    本文导语:  小弟用qt加c语言在linux下做了一个录音程序。。   在录音线程中用个bool变量控制循环 while(1) {    if (status)    {        read(dsp_fd,buf,sizeof(buf));        write(file_fd,buf,sizeof(buf));    } } status 是bool 变量; ds...

小弟用qt加c语言在linux下做了一个录音程序。。  
在录音线程中用个bool变量控制循环
while(1)
{
   if (status)
   {
       read(dsp_fd,buf,sizeof(buf));
       write(file_fd,buf,sizeof(buf));
   }
}
status 是bool 变量;
dsp_fd 和file_fd 分别是dsp设备的文件描述符 和打开的文件描述符;
buf 是我自己定义的一个缓冲区 char buf[44040];

该线程循环中每次都是从dsp设备读取一段数据然后写入文件。主界面按暂停的时候修改status的状态,从而使录音线程处于暂停不录数据阶段。 但是我在用测时间的函数测一下之后发现一些搞不清如何运行而来的一些数据:
while(1)
{
   if (status)
   {
       double time1 = capturecurrenttime();
       read(dsp_fd,buf,sizeof(buf));
       double time2 = capturecurrenttime();
       double usetime = time2 - time1;
       printf("usetime = %f n",usetime);
       write(file_fd,buf,sizeof(buf));
   }
}
capturecurrenttime()该函数是自己定义的获取时间函数;
数据显示结果:
usetime = 0.282044
usetime = 0.278234
usetime = 0.278569
usetime = 0.185704
usetime = 0.278592
(按暂停后这里停止输出)
(在按录音,该录音程序继续运行输出)
(出现了疑惑数据(红色部分)):
usetime = 0.000085
usetime = 0.000059
usetime = 0.000051
usetime = 0.000049
usetime = 0.000038
。。。。。。
usetime = 3.159125
(继续录音又恢复正常输出)
usetime = 0.278616
.。。。。。。

总结:中间这段录音数据不知道为什么会读取到。。因为按照程序的话暂停后read函数不会在执行也就不会读取dsp的数据,我想会不会是dsp设备里面的问题?也许dsp缓冲区会有问题吧? 但是搞不清楚,也就没什么对策修改了。。。恳请各位大侠指教!!! 

|
while(1)
{
  if (status)
  {
      read(dsp_fd,buf,sizeof(buf));
      write(file_fd,buf,sizeof(buf));
  }

这个线程很占系统资源。
建议加入线程同步机制。

|

帮顶、、

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用mini2440开发板,Linux系统,录音保存WAV格式,录音61秒,在PC机使用千千静听播放,只有10秒??
  • MIUI录音机
  • 录音音量小问题
  • MPLAYER录音
  • alsa音频驱动录音问题
  • 多轨道录音及编辑软件 Traverso
  • Linux下如何录音与放音?
  • 如何录音?
  • linux下的录音放音
  • 如何在LINUX实现同步录音和放音
  • 急~怎么使用alsa直接从声卡录音?
  • 大家讨论一下用QT及OSS实现LINUX下的录音程序的方法,说出想法就给分
  • 在linux下,要在一台机上同时录音和放音,应该怎么做?
  • 请问在哪里能找到Red Hat8.0下的录音机程序的源码?
  • [高分求助]------如何在linux下编程实现录音
  • 紧急求助:请问java有没有比较丰富的多媒体控件?比如录音的控件???
  • java 程序能实现录音吗?
  • linux 使用USB设备录音
  • linux 如何录音保存为.wav文件-百分求救
  • Android录音应用实例教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3