首页 > 解决方案 > React Native react-native-sound 在运行时更改声音文件会出现错误“尝试分配给只读属性”

问题描述

我是 React-Native 的新手。并且我正在尝试开发一个音频应用程序,用户应该能够点击列表中的任何音频,并且音频应该播放 onPress()

这是我的代码

sound = new Sound('http://example.com/xyz.mp3');

playSound ()  {
    this.sound.play();
};

pauseSound () {
    this.sound.pause();
};

playFile (x1) {

    sound = new Sound(x1);
    this.playSound();

}

当我用新文件名 x1 调用 playFile(x1) 时,它会给出错误:

Attempted to assign to readonly property.

有没有办法为声音变量 onPress重新分配一个新值?或者任何其他简单的解决这个重新分配问题的方法?

标签: react-nativereact-native-sound

解决方案


自己找到了解决方案。

如果您在分配新文件之前使用 sound.release() ,它可以工作。

它允许您重新分配一个新文件。因此代码将是这样的:

sound.release();
sound = new Sound(x1);

推荐阅读