采样率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可以分解出频率。

相关推荐
while(1){yan}2 小时前
音视频流协议
音视频
nashane3 小时前
HarmonyOS 6学习:音频焦点管理实战——解决应用打开中断听书功能的技术指南
学习·音视频·harmonyos·harmonyos 5
悟纤18 小时前
Seedance 2.0 API 已上线 | 支持「人像视频生成」|支持100并发 | 满血版 [灵龙AI API]
人工智能·音视频·seedance 2.0
这儿有一堆花19 小时前
深入解析 Video.js:现代 Web 视频播放的工程实践
前端·javascript·音视频
人工智能研究所1 天前
Claude + HyperFrames:用 HTML 方式制作视频,AI 时代一切皆可 HTML?
人工智能·html·音视频·ai 视频·hyperframes·claude-
zzh9201 天前
基于51单片机的流水灯Proteus仿真按键切换 上到下下到上 2个灯(可定做)(免费代码+视频讲解)
51单片机·proteus·音视频
Shang180989357261 天前
T31ZX 君正/INGENIC智能视频处理器T31ZX可提供软硬件资料T31Z采用先进的低功耗设计
嵌入式硬件·fpga开发·音视频·t31zx智能视频处理器
音视频牛哥1 天前
纯血鸿蒙(HarmonyOS NEXT)下,如何实现低延迟RTSP、RTMP播放器音视频解码?
华为·音视频·harmonyos·鸿蒙rtmp播放器·鸿蒙rtsp播放器·harmonyos rtsp·鸿蒙next播放器
@hhr1 天前
使用java对接火山方舟doubao-seedance-1.5-pro 模型进行视频生成
java·python·音视频
轻口味1 天前
HarmonyOS 6 轻相机应用开发2:贴纸效果实现
音视频·harmonyos·鸿蒙·播放器