时代拓灵空间音频技术将环绕声道精准置于合适的方位,使用户转动头部或者移动设备就能感受到身临其境的环绕声体验。通过实时渲染让双耳音频模拟3D沉浸感让音频更有空间层次。同时支持陀螺仪控制,对声音的方位进行交互。在某种程度上说,更像是对声音进行“定位”
集成步骤
-
前往时代拓灵官网下载空间音频SDK demo
http://www.twirlingvr.com/index.php/home/sdkdownload/index。
-
前往时代拓灵官网注空间音频SDK试用项目,申请appid,设置app密码
注意:时代拓灵提供的试用项目,只有14天的试用期,并且20个装机量项目
http://yun.twirlingvr.com/index.php/home/sdkdownload/addTestPro.html
创建成功后页面右上角点击个人中心->项目管理查看自己申请到的appid
- 解压下载的SDK demo
- 集成调试Demo
sdk 使用说明 - sdk 提供 CMakeLists.txt 作为构建工具,目前只支持 win32 和 x64 的库,可通过
BUILD_WIN32_MODE 来控制;最后需要把对应的 TwirlingAuthentication.dll 拷贝到可执行程序目录下 - 需要到官网注册试用,获得对应的 app_id 和 password ,在初始化时传入这两个参数才能正确试用 sdk
sdk 接口说明 - 初始化函数 void* TwirlingMeetingInit(const char* app_id, const char* passwd,
int sampleRate)
app_id 和 passwd 为官网注册后获得的 id 和密码
sampleRate 是待处理的音频采样率,只能设置为 8000,16000,32000,44100,
48000,96000 中的一个整数;目前要求所有 source 音频的采样率一致
初始化成功,返回处理实例的指针;若失败则返回空指针 - 处理函数
int TwirlingMeetingProcess(
void* obj,
const std::vector<std::vector>& inBuffers,
const std::vector& source_ids,
std::vector* leftBufferOutput,
std::vector* rightBufferOutput
);
l obj 为初始化函数返回的指针
l inBuffers 为这一帧需要处理的所有 source 的音频采样点
l source_ids.size() 必须等于 inBuffers.size() , source_ids[p] = k 表示
l inBuffers[p] 的位置在 k ,如概述中的解释
l leftBufferOutput 和 rightBufferOutput 为返回的立体声采样点,这两个 vector 必须在接口外围 resize 成长度 sampleRate * 0.01 ;接口内部不会对这两个 vector 开辟新的内存空间
l 调用成功返回 0,失败返回 -1 - 析构函数 TwirlingMeetingRelease(void* obj)
l 传入 obj 指针,释放相关的内存和资源 - 可参考 samples 里的代码;此代码展示了对于一个 P 通道的音频,将每个通道的音频固定在使用者前方 180度的均匀位置,产生的立体声效果
5.Tips:
1、拓灵空间音频 支持哪些平台和版本
支持 Windows端,提供的是C++接口。
2、装机量怎么定义的?
装机量授权:空间音频按照装机量收费,购买后即获得相应授权。装机量按照使用了开发者应用的终端设备信息进行统计,即在终端设备上安装了应用并启用了空间音频,即记为一个装机量。同一个终端设备上卸载(重装)应用均记为一个装机量,不重复计数。