• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 speech2text api 사용해서 연속적으로 여러문장 듣게 하는 방법

speech2text api 사용해서 연속적으로 여러문장 듣게 하는 방법

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #46985

    임정섭
    참가자
    안드로이드는 보안을 이유로 speech2text api 사용했을 때 한문장 듣고 나면 api 가 종료되는데요,
    저는 30분정도의 speech 를 note 로 만들고 싶어 이 제한을 우회하고자 합니다.
    
    제가 해본 시도는 speech2text api 가 종료되는 시점을 체크하여 다시 listen() 메소드를 실행하도록 하는 것입니다.
    그런데, 이게 마땅치가 않습니다. 어떤 버튼의 onPressed(){ _speechApi.listen(onResult : someCallback)}  을 통해 speech recognition 을 하게 되는데
    어떤 타이밍에 재시작 하도록 해야할지 모르겠습니다.
    
    제가 해본 방법은 setState() 를 이용하는 것입니다. someCallback(String recognized_text) 에서 setState() 를 불러 build() 메소드를 호출하게 하고
    기존에는 build() 가 그냥 widget 을 return 했는데, widget 을 return 하기 전에 _speechApi.listen(onResult : someCallback) 을 한번 더 호출하는 것입니다.
    
    하지만 이 방법의 문제점은 setState() 가 완료되지 못하고 계속 _speechApi.listen(onResult : someCallback) 만 큐에 쌓이게 되어 한 10번 시도하고 나면
    앱이 뻗어버리게 됩니다.
    
    UI 와 로직의 분리라고 하나요... 이게 잘 안되는 것 같은데, speech2text api 에서 continual Listening 기능을 구현하려면 어떤 방법이 있을까요?
    
    https://blog.logrocket.com/adding-speech-to-text-text-to-speech-support-flutter-app/ << 요 방법이 가장 최신의 좋은 방법으로 보였는데 speech2text api 를 custom package 로 바꿔놓고
    custom package 를 대신 import 하게 하면 
    ```
    lib/custom_packages/lib/speech_recognition.dart:35:25: Error: The parameter 'locale' can't have a value of 'null' because of its type 'String', but the implicit default value is 'null'.
    Try adding either an explicit non-'null' default value or the 'required' modifier.
      Future listen({String locale}) =>
                            ^^^^^^
    lib/custom_packages/lib/speech_recognition.dart:22:23: Error: Field 'availabilityHandler' should be initialized because its type 'void Function(bool)' doesn't allow null.
      AvailabilityHandler availabilityHandler;
                          ^^^^^^^^^^^^^^^^^^^
    ```
    요런 에러가 나서 빌드가 안되네요..
    
    
    창의적이고 위대한 코딩애플님, 꼭 좀 부탁드립니다!
    
    
    #47063

    codingapple
    키 마스터
    패키지를 써보질않아서 모르겠습니다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠