在 flutter 上使用 tflite 音频分类器出现 MissingPluginException

问题描述 投票:0回答:1

我正在尝试在 flutter 上使用 tflite 音频分类器(用可教机器制作),但是当识别开始时,我收到此异常:MissingPluginException(未找到在通道 FileRecognitionStream 上监听的方法的实现)。这是识别开始的代码:

Future<void> stopRecording() async {
    try {
      String? path = await recorder.stop();
      setState(() {
        isListening = false;
        recordingPath = path!;
        recognitionStream = TfliteAudio.startFileRecognition(
          sampleRate: 44100,
          audioDirectory: recordingPath,
        );
        recognitionStream.listen((event) {
          recognition = event["inferenceTime"];
          inferenceTime = event["recognitionResult"];
        }).onDone(() {
           print("DONE");
        });
      });
    } catch (e) {
      print('Error Start Recording: $e');
    }
  }

当记录停止时,将创建一个文件并将其路径输入到分类器。我在网络上运行该应用程序,当录音开始时,我允许 chrome 使用麦克风,一旦停止录音,我就会得到异常。

flutter audio tflite
1个回答
0
投票

MissingPluginException
表示您正在使用的代码无法在您的目标平台上运行。 在你的情况下,我猜你正在使用 tflite_audio 包:https://pub.dev/packages/tflite_audio 并且你尝试在网络上运行你的代码。但根据上面的链接,该包只能在 Android 和 IOS 上运行。这就是您收到错误的原因。

要解决您的问题,您必须寻找另一个支持Web平台的软件包,或者自己创建自己的工具。您可以在这里浏览一些有趣的音频包:https://fluttergems.dev/audio/

© www.soinside.com 2019 - 2024. All rights reserved.