快速进阶
更新时间:2023-04-17
空间音频功能接入
SDK支持6DoF空间音频能力,6DoF中的x,y,z参数对应位移信息,yaw,pitch,roll对应旋转信息,如下图所示
使用空间音频能力时,按照以下的流程调用接口
// 首先开启音效开关
xplayer.EnableWanos(true);
// 判断6DoF参数范围,其中x左负右正,y后负前正,z下负上正,单位米,无限制范围,模拟真实场景
// yaw : 0 ~ 360,头向左转,角度增加;向右转,角度减少
if (yaw < 0.0f || yaw > 360.0f) {
return;
}
// pitch: -90 ~ 90,抬头为正,低头为负
if (pitch < -90.0f || pitch > 90.0f) {
return;
}
// roll: -90 ~ 90, 右倾为正,左倾为负
if (roll < -90.0f || roll > 90.0f) {
return;
}
// 将6DoF数据传给播放器
xplayer.Set6DofData(x, y, z, yaw, pitch, roll);
除了设置完整的6DoF信息外,在部分场景下还可以选择更简单的接口,仅传入yaw、pitch参数,此时其他参数自动设置为0。
xplayer.SetYawAndPitch(yaw, pitch);
播放参数配置
SDK提供UnityXplayerParam
类,用于实现定制化的播放参数,包括纯音频播放、从指定时间起播、百度智能云HLS DRM Token设置、传入自定义HTTP header。
使用方式如下
// 播放参数需要在OpenURL时传入
UnityXplayerParam playerParam = new UnityXplayerParam();
if (disableVideo) {
// 关闭视频,仅播放音频
playerParam.disableVideo = true;
} else {
playerParam.disableVideo = false;
}
// 设置百度智能云hls drm token
playerParam.decryptTokenForHLS = "87fd2d8aaeefff3023e3d7a6204aa63abf159d2f2968ddac75bfaafec4d4c447_74c1802568074d7bbb02174ca9b81d53_1679973039";
// 设置user agent
playerParam.httpHeaderMap = new Dictionary<string, string>();
playerParam.httpHeaderMap.Add("User-Agent", "something");
// 从指定位置起播,以毫秒为单位
playerParam.initPosInMilliSeconds = 10000;
xplayer.OpenUrl(url, playerParam);