I am using audioplayers: ^4.0.1 to play audio from the local and url in my flutter application. To pick the file from local I am using the file_picker: ^5.2.10. To play the audio from local I am using the BytesSource(). Its working fine in the android but throw the below error in web. What I am doing wrong?
Error:
Error: UnimplementedError
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49 throw_
packages/audioplayers_web/audioplayers_web.dart 118:5 setSourceBytes
packages/audioplayers/src/audioplayer.dart 318:22 setSourceBytes
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50 <fn>
dart-sdk/lib/async/zone.dart 1653:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 766:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 795:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 430:9 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15 <fn>
Code:
Future<void> updatingAudio() async {
audioFile = await FilePicker.platform.pickFiles(
withData: true,
type: FileType.audio,
allowCompression: true,
);
if (audioFile != null) {
audioPlayer.setSource(BytesSource(audioFile!.files.first.bytes!));
}
update();
}
This one worked perfectly fine with playing the audio from the local storage in the web. By using the just_audio package.
Custom Class:
Picking Local File