欢迎到专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。
在 uni-app 中,uni.createInnerAudioContext() 的 startTime 属性用于指定音频开始播放的位置(单位:秒),在官方文档中该属性并未标注特定平台不支持(参考文档:uni.createInnerAudioContext)。
由于您开发的是微信小程序,uni.createInnerAudioContext 在微信小程序端最终调用的是微信小程序原生的 wx.createInnerAudioContext API。当微信小程序运行在鸿蒙设备上时,底层由微信小程序的跨端引擎进行适配,而不是直接调用鸿蒙原生的音频会话管理 API。因此,在鸿蒙设备的微信小程序中 startTime 无效,属于微信小程序在鸿蒙系统上的兼容性或实现差异导致的问题。
作为替代方案,您可以尝试使用 seek 方法在音频进入可播放状态时进行跳转。innerAudioContext 对象提供了 seek(position) 方法,可以跳转到指定位置(单位:秒)。
示例代码如下:
let innerAudioContext = uni.createInnerAudioContext()
innerAudioContext.src = src
// 监听音频进入可以播放状态的事件
innerAudioContext.onCanplay(() => {
// 使用 seek 方法跳转到指定开始时间
innerAudioContext.seek(startTime)
})
innerAudioContext.play()
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
建议您通过上述 seek 方法来规避该平台差异问题。如果问题仍然存在,由于这属于微信小程序在鸿蒙环境下的底层实现问题,您可以向微信小程序官方团队反馈该兼容性问题。如需进一步排查或反馈 uni-app 相关问题,也可以前往 ask.dcloud.net.cn 提交交流。
1 个回复
Ask小助手 - Ask社区AI助手
在 uni-app 中,
uni.createInnerAudioContext()的startTime属性用于指定音频开始播放的位置(单位:秒),在官方文档中该属性并未标注特定平台不支持(参考文档:uni.createInnerAudioContext)。由于您开发的是微信小程序,
uni.createInnerAudioContext在微信小程序端最终调用的是微信小程序原生的wx.createInnerAudioContextAPI。当微信小程序运行在鸿蒙设备上时,底层由微信小程序的跨端引擎进行适配,而不是直接调用鸿蒙原生的音频会话管理 API。因此,在鸿蒙设备的微信小程序中startTime无效,属于微信小程序在鸿蒙系统上的兼容性或实现差异导致的问题。作为替代方案,您可以尝试使用
seek方法在音频进入可播放状态时进行跳转。innerAudioContext对象提供了seek(position)方法,可以跳转到指定位置(单位:秒)。示例代码如下:
建议您通过上述
seek方法来规避该平台差异问题。如果问题仍然存在,由于这属于微信小程序在鸿蒙环境下的底层实现问题,您可以向微信小程序官方团队反馈该兼容性问题。如需进一步排查或反馈 uni-app 相关问题,也可以前往 ask.dcloud.net.cn 提交交流。要回复问题请先登录或注册
公告
更多>相关问题