07 2022 档案
摘要:最近基于Linux系统C语言实现音频的采集和播放,建立了两个子线程,一个通过调用snd_pcm_readi来实现采集数据,并存入FIFO中,另一个从FIFO中取数据并通过udp的sendto发送出去,由于不想频繁打开(snd_pcm_open)和关闭(snd_pcm_close)PCM设备,因此在程
阅读全文
摘要:将shared_ptr放在一个容器中,随后又重排了这个容器,从而不再需要某些元素。 这种情况下应该用erase删除不需要的元素。 如果你将shared_ptr存放于一个容器中,而后不再需要全部元素,而只使用其中一部分,要记得用erase删除不再需要的那些元素。
阅读全文
摘要:最近用alsa库实现音频的采集和播放,遇到了如下两个问题: 1、函数snd_pcm_hw_params_set_rate_near调用失败,打印错误信息为:无效的参数,解决方法:传入的第三个参数为对代表采样率的变量取地址,此变量初始化为44100,在调用此函数前再进行一编赋值44100,则不报错,具
阅读全文
摘要:拷贝大的类类型对象或者容器对象比较低效,甚至有的类类型(包括IO类型在内)根本就不支持拷贝操作。当某种类型不支持拷贝操作时,函数之恶能通过引用形参访问该类型的对象。 当函数无需修改应用形参的值时最好使用常量引用。形参为常量引用时实参可以是常量引用或者非常量引用,形参为非常量引用时,实参只能是非常量引
阅读全文