我做了一个UDP接收音频并播放的程序,可是放出来的声音不正常,断断续续的,采样率什么的设置的全是正确的。
在设计的时候我开了四个内存区域循环使用。但是当我整个读取一个wav文件的时候是正常的,声音也正常。我怀疑是多内存块循环使用的问题,可是不知道该怎么测试。
我的意思是怎么把一个wav的数据一次读取1024的方式读取,而不是一次性全部读入内存。

解决方案 »

  1.   

    我现在想做一个测试就是:怎么把一个wav的数据一次读取1024的方式读取,而不是一次性全部读入内存
    怎么做啊
      

  2.   

    就是流读,和流播
    都可以看DirectShow SDK里面关于stream的范例
      

  3.   

    DirectXSDK \ Samples\C++\DirectSound\StreamData
      

  4.   

    我也遇到这个问题。我是基于RTP协议发送和接收音频数据,我在做widnows端的,接收后语音播放就断断续续的,但是linux端接收到我发送的音频数据,播放还是较连续的。哪位有解决方案,烦请发一份给我。多谢!邮件:[email protected]。如果能解决问题,我有一些分可给,但是不多。
      

  5.   

    你的播放端代码有问题你是怎么播放的
    要用一个fifo来模拟
      

  6.   

    给你个文章看看,我写了好长时间啊.呵呵~~~
    http://www.wantsoft.com/default.asp?cateID=6
    http://www.wantsoft.com 隐形者代码交流
      

  7.   

    UDP是不可靠的,收到的包可能会丢包,也可能会乱序,所以你听到的声音是断断续续的。我以前做过类似的软件,在局域网内测试的时候,效果较好。在广域网中测试时,由于网络拥塞,效果较差。建议楼主在udp上添加可靠传输协议(参考UDT),或者使用TCP协议。