下面有一段代码,每次我按下按钮时都会播放声音。
AudioPlayer player = AudioPlayer();Future<void> playSound({required String soundStr}) async {
player.setAsset(soundStr);
player.play();
}但是每当我快速地按下按钮,有时它就会显示出这个错误。如何消除此错误?我试着添加player.stop();,但是它仍然是一样的。
E/flutter ( 4312): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(abort, Loading interrupted, null, null)
E/flutter ( 4312): #0 AudioPlayer._setPlatformActive.checkInterruption (package:just_audio/just_audio.dart:1236:7)
E/flutter ( 4312): #1 AudioPlayer._setPlatformActive.setPlatform (package:just_audio/just_audio.dart:1347:11)
E/flutter ( 4312): <asynchronous suspension>
E/flutter ( 4312):
E/flutter ( 4312): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(abort, Loading interrupted, null, null)
E/flutter ( 4312): 编辑:我尝试添加await。
Future<void> playSound({required String soundStr}) async {
await player.setAsset(soundStr);
await player.play();
}如果我快速按下按钮,它仍然会有错误。虽然现在已经不一样了。
E/flutter (21654): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Connection aborted
E/flutter (21654): #0 AudioPlayer._load (package:just_audio/just_audio.dart:843:11)
E/flutter (21654): <asynchronous suspension>
E/flutter (21654): #1 AudioPlayer.load (package:just_audio/just_audio.dart:770:14)
E/flutter (21654): <asynchronous suspension>
E/flutter (21654): #2 AudioPlayer.setAudioSource (package:just_audio/just_audio.dart:745:18)
E/flutter (21654): <asynchronous suspension>
E/flutter (21654): #3 playSound (package:super_pinoy_quiz/common/generic_methods.dart:396:3)
E/flutter (21654): <asynchronous suspension>
E/flutter (21654): 我正在使用这个包: just_audio:^0.9.29,虽然我尝试使用不同的包,但它在快速点击按钮时也遇到了相同的错误: audioplayers:^1.1.1
发布于 2022-10-22 17:55:40
setAsset和play都是未来的方法,您可以等待设置资产。
Future<void> playSound({required String soundStr}) async {
await player.setAsset(soundStr);
await player.play();
}https://stackoverflow.com/questions/74165669
复制相似问题