可能的未处理的承诺拒绝(标识:2)

时间:2019-07-29 19:07:07

标签: javascript react-native

我正在使用“ expo-av”库中的音频API。按下按钮后,我应该会听到声音,但是我得到了警告     可能的未处理的承诺拒绝(编号:2):     错误:播放器不存在。

首先,它运行良好,但是经过一两次尝试后,即使删除$ setTimeout()$,该错误仍然持续存在

    export default class App extends Component {

   async playAudio (Number){
    const SoundObject = new Audio.Sound();
    try {
      let path = AudioList[Number];
      await SoundObject.loadAsync(path);
      await SoundObject.playAsync()
       .then(async playbackStatus => {
         setTimeout(() => {
           SoundObject.unloadAsync();
         },playbackStatus.playbackDurationMillis)
       })
       .catch((error) => {
         console.log(error);
       })
    } catch (err) {
      console.log(err);
    }
  }
  render(){
    return (
      <View style={styles.container}>
        <View style={styles.grid}>
          <Image 
            source={require('./assets/logo.png')}
            style={styles.image}
          />
          <View style={styles.row}>
              <TouchableOpacity
                style={[{backgroundColor: BackgroundNumber[1]}, styles.item]}
                onPress={() => this.playAudio("one")}
              >
                <Text style={styles.itemText}>One</Text>
              </TouchableOpacity>
          </View>

        </View>
      </View>
    );
  }
}

0 个答案:

没有答案