【Flutter】음성 녹음하기

5322 단어 iOSDartFlutter

소개



2020년도 XTech 그룹 어드벤트 캘린더의 12일째 담당 고야입니다.

본 기사에서는 내가 최근에 배운 Flutter를 사용하여 iOS 단말기에서 음성을 녹음하는 방법에 대해 비망록적으로 쓰고 싶습니다.

작동 버전


  • Flutter 1.24.0
  • Dart 2.12.0
  • iOS 14.2

  • 녹음 라이브러리



    Flutter에서 사용할 수 있는 라이브러리로는 다음이 대표적이라고 생각합니다.
  • flutter_sound
    (문서 : htps // 푸 b. v / pa c ga s / f r_ rd d)
  • audio_recorder
    (문서 : htps // 푸 b. v / pa c ga s / auo_reko r에서 r)
  • record
    (문서 : htps // 푸 b. V / Pac 가게 s / Reko rd)
  • flutter_audio_recorder
    (문서 : htps // 푸 b. v / pa c ga s / f r)

  • 이번에는 flutter_audio_recorder를 사용하고 Example을 시도했습니다.

    구현



    마이크 사용 권한을 묻는 문구를 ios/Runner/info.plist 에 다음을 추가합니다.

    ios/Runner/info.plist
    <key>NSMicrophoneUsageDescription</key>
    <string>Can We Use Your Microphone Please</string>
    

    그런 다음 처음 시작할 때 마이크 사용이 허용되는지 확인합니다.

    lib/main.dart
    if (await FlutterAudioRecorder.hasPermissions)
    

    여기를 초기 화면 생성시에 써 드립니다

    나머지는 FlutterAudioRecorder()
    (new) FlutterAudioRecorder FlutterAudioRecorder(String path, {AudioFormat audioFormat, int sampleRate = 16000})
    

    이와 같이 되어 있기 때문에 path 에는 어디에 어떤 이름으로 저장할까를 적어주고, Audio의 포맷이 .m4a .aac .mp4 .wav
    var recorder = FlutterAudioRecorder("file_path", audioFormat: AudioFormat.AAC); 
    await recorder.initialized;
    

    이런 식으로 생성합니다.
    path 에 대해서는 path_provider 을 사용해 지정하고 있습니다만

    Build했을 때의 화면





    녹음 시작


    await recorder.start();
    var recording = await recorder.current(channel: 0);
    

    녹음 정지


    var result = await recorder.stop();
    File file = widget.localFileSystem.file(result.path);
    

    일시정지


    await recorder.pause();
    

    녹음 재개


    await recorder.resume();
    

    끝에



    Flutter로 녹음에 대해 썼습니다. 어땠습니까?
    꼭 코멘트나 LGTM등 반응을 주셨으면 합니다

    또한 당사에서는 채용도 바시바시 실시하고 있으므로 흥미가 있는 분이 있으면 응모해 주세요
    htps //w w. 와서 dly. 코 m / 코 m 파니에 s / 에 x

    XTech 그룹 Advent Calendar 2020 13일째의 쓰기 담당은 나의 동기화가 되는 y-kona입니다.
    계속 즐길 수 있다면 기쁩니다.

    좋은 웹페이지 즐겨찾기