HarmonyOS鸿蒙Next中华为游戏多媒体调用PlayLocalAudioClip报错,错误码:7002

HarmonyOS鸿蒙Next中华为游戏多媒体调用PlayLocalAudioClip报错,错误码:7002

SDK版本:pgme-unity-sdk-1.10.2.300
Unity版本:2021.3.29f1
VisulaStudio版本:2022

开发步骤

本地音效对象LocalAudioInfo实例化

LocalAudioInfo localAudioInfo = new LocalAudioInfo();
localAudioInfo.SoundId = 8; // SoundId: 自定义音效ID,大于等于0
localAudioInfo.Volume = 100; // Volume:音效音量系数,取值范围[0, 100],默认值100
localAudioInfo.FilePath = Application.temporaryCachePath + "/video1.mp3"; // FilePath:音效文件路径,本地路径和网络URL均可
localAudioInfo.Loop = 50; // Loop:循环播放次数,大于等于0,默认值0表示无限循环
callBackHandler.OnAudioClipStateChangedNotifyEvent += AudioClipStateChangeImpl;

调用播放本地音效方法PlayLocalAudioClip

int result = gameEngine.PlayLocalAudioClip(localAudioInfo);直接通过引擎示例对象调用即可
Debug.Log("result is :" + result);

测试运行报错7002如下图:

问题解决

查看API手册错误码章节以及开发指南均没有对应错误原因和解决方案提供,后咨询相关技术开发人员后,定位到具体原因:

使用联机多媒体服务需要先初始化多媒体引擎以及设置引擎参数EngineCreateParams对象实例,示例代码如下:

EngineCreateParams engineParams = new EngineCreateParams();
engineParams.OpenId = "12345615"; // 玩家ID
engineParams.ClientId = clientId; // 客户端ID
engineParams.ClientSecret = clientSecret; // 客户端密钥
engineParams.AppId = appId; // 应用ID
engineParams.ApiKey = apiKey; // API密钥
engineParams.LogEnable = true; // 开启SDK日志记录
engineParams.LogPath = Application.persistentDataPath; // 日志路径
engineParams.LogSize = 10240; // 日志存储大小

其中传入的整套权益参数,需要在AGC后台注册创建应用并开通相关服务后生成。

此时需要在File > Build Settings > Player Settings > Other Settings > Identification > Package Name 此参数需要配置和AGC后台应用包名一致。

其他

更多联机多媒体API介绍详情请参考:游戏多媒体


更多关于HarmonyOS鸿蒙Next中华为游戏多媒体调用PlayLocalAudioClip报错,错误码:7002的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中华为游戏多媒体调用PlayLocalAudioClip报错,错误码:7002的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


错误码7002通常表示在调用PlayLocalAudioClip时,音频文件路径无效或文件不存在。请检查以下内容:

  1. 确保音频文件路径正确,且文件存在于指定位置。
  2. 确认文件格式和编码是否支持,鸿蒙系统支持的音频格式包括MP3、WAV等。
  3. 检查文件权限,确保应用有读取该文件的权限。
  4. 如果路径是动态生成的,确保路径字符串拼接正确。

如果问题依旧,建议使用调试工具检查路径和文件状态。

回到顶部