未为类型“FlutterSoundRecorder”定义方法“openAudioSession”

paw*_*wan 7 voice-recording flutter

我正在编写一个使用 flutter_sound 包录制语音的 flutter 应用程序

environment:
  sdk: ">=2.15.1 <3.0.0"
Run Code Online (Sandbox Code Playgroud)
dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2
  flutter_sound: ^9.1.2
  permission_handler: ^8.3.0
Run Code Online (Sandbox Code Playgroud)
import 'package:flutter_sound/flutter_sound.dart';
import 'package:permission_handler/permission_handler.dart';
Run Code Online (Sandbox Code Playgroud)
Future init() async {
    _audioRecorder = FlutterSoundRecorder();

    final status = await Permission.microphone.request();
    if (status != PermissionStatus.granted){
      throw RecordingPermissionException('Microphone permission denied.');
    }
    await _audioRecorder!.openAudioSession();
    _isRecorderInitiated = true;
 }
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

The method 'openAudioSession' isn't defined for the type 'FlutterSoundRecorder'.
Run Code Online (Sandbox Code Playgroud)

有人能帮我找出代码有什么问题吗?

小智 12

似乎在版本9中被删除了,但是文档还没有更新。您可以改用openRecorder()或切换到旧版本的库。

  • 感谢您的回答。看来你是对的。我用 openRecorder() 替换了 openAudioSession(),用 closeRecorder() 替换了 closeAudioSession()。有用。flutter_sound 包中可能会有更多变化。您能否建议我如何更多地了解 flutter_sound? (2认同)