flutter - Flutter web:使用just_audio时getTemporaryDirectory(path_provider)未捕获的异常
问题描述
我正在使用新的实验LockCachingAudioSource
性just_audio。它似乎适用于 Android 和 iOS,但是当我在网络上运行我的应用程序时,我收到以下未捕获的错误:
Error: MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)
at Object.throw_ [as throw] (http://localhost:49168/dart_sdk.js:5041:11)
at platform_channel.MethodChannel.new._invokeMethod (http://localhost:49168/packages/flutter/src/services/system_channels.dart.lib.js:943:21)
at _invokeMethod.next (<anonymous>)
at http://localhost:49168/dart_sdk.js:37403:33
at _RootZone.runUnary (http://localhost:49168/dart_sdk.js:37274:59)
at _FutureListener.thenAwait.handleValue (http://localhost:49168/dart_sdk.js:32530:29)
at handleValueCallback (http://localhost:49168/dart_sdk.js:33057:49)
at Function._propagateToListeners (http://localhost:49168/dart_sdk.js:33095:17)
at _Future.new.[_completeWithValue] (http://localhost:49168/dart_sdk.js:32943:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:49168/dart_sdk.js:32964:35)
at Object._microtaskLoop (http://localhost:49168/dart_sdk.js:37526:13)
at _startMicrotaskLoop (http://localhost:49168/dart_sdk.js:37532:13)
at http://localhost:49168/dart_sdk.js:33303:9
这是我的代码:
_playlist = ConcatenatingAudioSource(
children: mediaItemList
.where((item) => item.extras?['url'] is String)
.map((item) {
final String url = item.extras?['url'];
return LockCachingAudioSource(Uri.parse(url));
}).toList(),
);
await _player.setAudioSource(_playlist);
我找到了解决方案,所以我将其发布在下面。
解决方案
目前just_audio不支持LockCachingAudioSource
网络。解决方案是在 Web 上运行时使用支持的 AudioSource 之一:
if (kIsWeb) {
return AudioSource.uri(Uri.parse(url));
}
return LockCachingAudioSource(Uri.parse(url));
推荐阅读
- amazon-web-services - aws configure get aws_access_key_id 的空结果
- java - 有没有办法在使用spring AOP执行某些代码行后调用通知方法
- python - 为 python 类实现通用和动态外观
- c - 从 C shellcode 访问 EBP 寄存器
- http - 使用 http Range 标头获取 mp3 的一部分(以秒为单位)
- python-3.x - locust : hooks -> 使用 locust 性能测试环境运行自定义代码
- reactjs - 用于 UAT 和 Live 的 React 中的运行时环境变量,用于单个构建 devops
- javascript - 解析网站后如何构建租赁广告通知器?
- python - RPI Tkinter Window,我想使用像 overrideredirect 这样的命令并维护输入框功能
- amazon-web-services - AWS ECS 服务因目标组运行状况检查失败而重新启动