摘要: 了解socket-server,需先学习下socket的server的一般流程,顺着流程去看代码就比较容易了。 1. socket socket(PF_LOCAL, SOCK_STREAM, 0) 2. bind bind(fd, (struct sockaddr*) &sa, SUN_LEN(&s 阅读全文
posted @ 2020-06-07 23:07 renhl 阅读(251) 评论(0) 推荐(0) 编辑
摘要: struct pa_packet { enum { PA_PACKET_APPENDED, PA_PACKET_DYNAMIC } type; unsigned ref; size_t length; uint8_t *data;}; ■ struct pa_packet* pa_packet_ne 阅读全文
posted @ 2020-06-07 07:56 renhl 阅读(150) 评论(0) 推荐(0) 编辑
摘要: ■ static int load(const char *fn, void *data, size_t length) 从fn文件中读出length长度的数据,用data返回数据 ■ static int generate(const char *fn, void *data, size_t le 阅读全文
posted @ 2020-06-07 07:01 renhl 阅读(230) 评论(0) 推荐(0) 编辑
摘要: ■ int pa_alsa_set_hw_params(snd_pcm_t *pcm_handle, struct pa_sample_spec *ss, uint32_t *periods, snd_pcm_uframes_t *buffer_size) https://i.cnblogs.com 阅读全文
posted @ 2020-06-07 06:05 renhl 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采样量化时数字比特位数,常见的有8位和16位。通道数(channel):该参数为1表示单声道,2则是立体声。帧(frame):帧记录了一个声音单元,其长度为样本长度与通道数的乘积,一段音频数据就是由苦干帧组成的。采样率(rat 阅读全文
posted @ 2020-06-07 06:01 renhl 阅读(551) 评论(0) 推荐(0) 编辑