我正在使用 flutter 构建一个桌面应用程序,我需要从本地存储播放音频文件,为此我使用just_audio flutter 包,因为它支持 Windows。但我找不到任何适用于 Windows 的示例。我已经编码了这样的东西 -
import 'package:just_audio/just_audio.dart';
...
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
final _player = AudioPlayer();
@override
void initState() {
super.initState();
...
_init();
}
Future<void> _init() async {
await _Player.setFilePath('C:/Users/Admin/Downloads/test.wav', preload: true);
}
...
Run Code Online (Sandbox Code Playgroud)
等待调用永远不会完成,我收到以下错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method init on channel com.ryanheise.just_audio.methods)
#0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:165:7)
<asynchronous suspension>
#1 MethodChannelJustAudio.init (package:just_audio_platform_interface/method_channel_just_audio.dart:13:5)
<asynchronous suspension> …Run Code Online (Sandbox Code Playgroud) 我的 flutter 桌面应用程序采用本地文件(音频/视频/图像)作为用户输入。现在我需要将其保存到某个地方以供以后使用。这样,即使设备发生变化,应用程序仍然可以使用相对路径访问它们。
我想要做的是使用方法将此文件复制到资产file.copy文件夹。但是如何获取assets文件夹的目录呢?我不想对资产文件夹的绝对路径进行硬编码。有没有办法使用相对路径将文件复制到资产文件夹中?
或者有什么替代方法来完成任务?