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