Unity AudioClip和PCM音频数据的转化

1 PCM音频数据转化AudioClip

假设PCM音频当前是16Khz采样率,16bit数据

复制代码
 byte[] pcmBytes=new byte[10240];
 float[] floatClipData = new float[audioBytes.Length/2];
 for (int i = 0; i < audioBytes.Length; i+=2)
 {  
     floatData[i / 2] = (short)((audioBytes[i + 1] << 8) | audioBytes[i]) / 32768.0f;
 }
 // 构造一个新的AudioClip
 AudioClip audioClip = AudioClip.Create("PCMClip", floatData.Length, 1, 16000, false);
 // 将音频数据设置到AudioClip中
 audioClip.SetData(floatData, 0);
 audiosource.clip = audioClip;
 audiosource.Play();

2 提取AudioClp中的数据转化为PCM bytes字节数组

复制代码
AudioClip audioClip = new AudioClip();
float[] audioData = new float[audioClip.samples * audioClip.channels];
audioClip.GetData(audioData, 0);
byte[] pcmBytesData = new byte[audioData.Length * 2];
for (int i = 0; i < audioData.Length; i++)
{
    short value = (short)(audioData[i] * short.MaxValue);
    pcmBytesData[i * 2] = (byte)(value & 0x0F);
    pcmBytesData[i * 2 + 1] = (byte)((value >> 8) & 0x0F);
}
相关推荐
K姐研究社6 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
EasyDSS9 小时前
私有化视频会议平台/视频高清直播点播EasyDSS构建智慧校园音视频协作新生态
音视频
txp玩Linux10 小时前
音频 AI 模型开源方案与音频 3A / ASR / TTS 全链路解析
人工智能·音视频
runafterhit11 小时前
显示调研专题-OLED行业技术趋势分析报告
音视频
灰灰勇闯IT11 小时前
DVPP 视频预处理:YOLO 视频检测的瓶颈与解法
yolo·音视频
Luna-player12 小时前
音频服务未运行,未安装音频设备,Windows 无法启动 Windows Audio 服务,错误 0x80070005:拒绝访问,本计算机无法播放音频
音视频
中小企业实战军师刘孙亮14 小时前
小微企业生存发展指南:从求稳到扩张的实战策略-佛山鼎策创局破局增长咨询
架构·产品运营·音视频·制造·业界资讯
真鬼12314 小时前
【Unity 6】Unity6快捷下载,快速下载
unity·游戏引擎
视频号下载助手14 小时前
2026视频号视频下载去水印方法!4种无水印视频提取方法
音视频
青w韵14 小时前
视频链接处理 + 提取字幕
音视频