采样率22050,那么CHUNK_SIZE 一次传输的音频数据大小设置多少合适?unity接收后出现卡顿的问题的思路

在采样率为22050的情况下,选择合适的 CHUNK_SIZE 主要取决于 Unity 接收和处理音频数据的效率。以下是设置 CHUNK_SIZE 的一些建议:

  1. 计算 CHUNK_SIZE :音频的传输数据量可以通过公式 CHUNK_SIZE = 采样率 * 传输间隔秒数 * 每样本字节数 * 声道数 来计算。假设音频是 16 位单声道,则每样本为 2 字节,采样率为 22050,若选择传输间隔为 0.1 秒,那么:
    C H U N K _ S I Z E = 22050 × 0.1 × 2 × 1 = 4410 字节 CHUNK\_SIZE = 22050 \times 0.1 \times 2 \times 1 = 4410 \text{ 字节} CHUNK_SIZE=22050×0.1×2×1=4410 字节

实际设置可以从 4096 字节的 CHUNK_SIZE 开始测试,观察效果。

音频是16位采样?还是直接float 32位采样?

可以直接float 32位采样,这就注意了每个样本是4个字节,效果更好。如果是int16 采样,质量偏差。

unity接收后出现卡顿的问题的思路

经过实验,

  • 发送端,基于websocket传输音频时,不用增加延迟时间,尽快传输过来。
  • 接收端设置一个比较大的缓存空间,之后在慢慢播放音频就可以

采样率决定了播放速度

音频是一位数组,采集的是振幅,通过振幅的斜率可以计算频率,通过FFT可以分解出频率。

相关推荐
老兵发新帖1 小时前
无人机视频检测--为什么需要对视频做编码?
音视频
manjianghong864 小时前
制作高质量AI视频需要哪些步骤
人工智能·音视频·ai视频·ai应用
CodeOfCC4 小时前
C++ 实现ffmpeg解析hls fmp4 EXT-X-DISCONTINUITY并支持定位
开发语言·c++·ffmpeg·音视频
老兵发新帖6 小时前
无人机视频检测方案--增加实时推流,并支持开关可配置
音视频·无人机
却道天凉_好个秋7 小时前
OpenCV(五十一):视频前后景分离
人工智能·opencv·音视频
EasyCVR7 小时前
视频汇聚平台EasyCVR筑牢运动场馆可视化智能监控防线
音视频
迈火1 天前
APISR IN COMFYUI:提升ComfyUI图像超分辨率的强力插件
图像处理·人工智能·计算机视觉·stable diffusion·aigc·音视频·midjourney
qq_310658511 天前
webrtc源码走读(五)核心引擎层——传输模块
服务器·网络·音视频·webrtc
怀旧诚子1 天前
rv1106幸狐开发板显示推视频
音视频
qq_310658511 天前
webrtc源码走读(六)核心引擎层——安全模块
服务器·c++·音视频·webrtc