taro innerAudioContext.destroy()在编译时报错

cnh2zyt3  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(48)

相关平台

H5

浏览器版本: 微信开发者工具调试h5
使用框架: React

复现步骤

const audioRef = useRef(null)
const { source } = props;
useEffect(()=> {
if (audioRef.current) {
audioRef.current.stop();
audioRef.current.destroy();
}

// 创建新的音频上下文
const innerAudioContext = Taro.createInnerAudioContext();
audioRef.current = innerAudioContext;

// 设置音频源
if (source) {
  innerAudioContext.src = source;
  innerAudioContext.play(); // 开始播放音频
}

// 清理函数,在组件卸载时执行
return () => {
   innerAudioContext.destroy();
};

}, [source]);

期望结果

正常不报错

实际结果

Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
at Object.iac.destroy

环境信息

👽 Taro v3.2.0

  Taro CLI 3.2.0 environment info:
    System:
      OS: Windows 10
    Binaries:
      Node: 16.18.1 - D:\NVM\nodejs\node.EXE       
      Yarn: 1.22.19 - D:\Program Files\bin\yarn.CMD
      npm: 8.19.2 - D:\NVM\nodejs\npm.CMD
cngwdvgl

cngwdvgl1#

Taro v3.2.0 版本太老了,可以升级到最新版本试试,或者给个复现仓库链接

y0u0uwnf

y0u0uwnf2#

Taro v3.2.0 版本太老了,可以升级到最新版本试试,或者给个复现仓库链接

老项目,不太方便升级;确实是源码里面报错了,我看后面版本已经修复了

相关问题