unity3d - 将 Agora AudioFrame 转换为 Unity AudioClip
问题描述
我想从 Agora 获取音频的原始数据,并将其流式传输到 Unity AudioSource。
使用AudioRawDataManager.onPlaybackAudioFrameBeforeMixing
回调,我可以获取 AudioFrame 表单中的原始数据,但我无法找到将 AudioFrame 转换为 Unity AudioClip类的简单方法。
有没有人有经验?
提前致谢。
解决方案
您只需将 AudioFrame 中的原始数据字节分配到您拥有的 audioclip 对象中。请参阅 AudioClip 的 SetData()。
粗略的步骤:
- 创建受限队列
- 回调缓冲区被发送到受限队列
- 从队列中分配填充的缓冲区以生成 AudioClip。
- AudioSource 播放 AudioClip
该队列的长度是用户选择的缓冲音频的长度。
推荐阅读
- python - 如何将 groupby 应用于最近的相同元素
- bash - 如何获取嵌套在引号中的命令的 PID?
- java - 为什么有些用 Golang 编写的函数运行速度比用 Java 还要慢?
- excel - 添加查询时获取当前目录路径
- python - 在 docker-compose 中运行 python selenium
- android - 中国安卓设备。WebView 使用什么浏览器?
- python - 训练最后一层inception_v4时要训练哪些变量。(trainable_scopes/checkpoint_exclude_scopes)
- rest - 使用 curl 将文件上传到 Azure IOT Hub
- r - 如何在 R 中读取 256 个字节的块?
- c++ - 逐行读取用户定义的文本资源文件