패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.3

flutter_tts_improved

Flutter_TTS 플러그인의 포크로, 안드로이드와 iOS 양쪽 모두에서 Utterance API의 진행률 보고 기능을 사용합니다.

30일 다운로드
43
좋아요
21
Pub 점수
40

패키지 설치

flutter pub add flutter_tts_improved

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Flutter_TTS_Improved 는 원래 Flutter_TTS 플러그인의 포크로, Android 및 iOS에서 Utterance API 의 통합된 진행률 보고 기능을 통해 텍스트 음성 변환 기능을 향상시켰습니다. 개발자는 실시간으로 음성 합성 진행 상황을 추적할 수 있어 음성 기반 애플리케이션의 사용자 경험을 향상시킬 수 있습니다. 이 패키지는 원본과 호환성을 유지하면서 각 발화에 대한 세부 피드백(시작, 종료, 오류 이벤트 등)을 제공합니다. 인터랙티브 음성 어시스턴트, 오디오북 또는 정밀한 타이밍 제어가 필요한 접근성 도구에 이상적입니다.

사용 사례

  • 실시간 음성 진행 추적
  • 앱의 접근성 기능
  • 인터랙티브 음성 어시스턴트
  • 오디오북 재생
  • 교육용 언어 학습 앱

주요 기능

  • Utterance API를 통한 진행 상황 보고
  • 크로스 플랫폼 지원 (Android 및 iOS)
  • 실시간 이벤트 콜백
  • 음성 합성에 대한 향상된 제어
  • Flutter_TTS와 호환됩니다

적합한 대상

  • 음성 기능을 갖춘 앱을 개발하는 개발자
  • 정확한 발화 시간이 필요한 앱
  • 접근성 중심 애플리케이션
  • 인터랙티브 튜토리얼 및 학습 도구

고려 사항

  • 네이티브 플랫폼 구성이 필요합니다
  • Utterance API를 지원하는 플랫폼에 한정
  • 일부 기기에서는 추가 권한이 필요할 수 있습니다
  • 기반 운영 체제 음성 엔진의 안정성에 따라 다릅니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Flutter Text To Speech Improved

The flutter_tts plugin (https://github.com/dlutton/flutter_tts) is GREAT! Thanks @dlutton for all your hard work on getting it up and running. Now it is time to improve it by allowing for the Utterances API to report the 'progress' of the speech of the Utterance. This is relatively new for Android, only introduced in Android 26. It has been around on iOS for quite some time though, back around iOS 7.0.

My goal with this plugin is to allow everyone in flutter to track where the speech is currently at. This can be used to print words on the screen as they are spoken, highlight words of a paragraph as they are uttered, for timing how long each word takes to say at a given speed, or really any other weird reason you may need it. This API is powerful, and I know people are asking for it, and there is simply not a plugin yet that covers it. Surprise! Now there is. You are welcome.

Features

  • [x] Android & iOS
    • [x] speak
    • [x] stop
    • [x] get languages
    • [x] set language
    • [x] is language available
    • [x] set speech rate
    • [x] set speech volume
    • [x] set speech pitch
    • [x] get voices
    • [x] set voice
    • [x] #NEW track what word is currently being said (on all iOS 7+ and Android 26+)
  • [x] Android
    • [x] set Silence

Usage

Android

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

iOS

There's a known issue with integrating plugins that use Swift into a Flutter project created with the Objective-C template. Flutter#16049

Example

To use this plugin :

  dependencies:
    flutter:
      sdk: flutter
    flutter_tts_improved:
  • instantiate a FlutterTtsImproved instance
FlutterTtsImproved tts = new FlutterTtsImproved();
speak, stop, getLanguages, setLanguage, setSpeechRate, setVolume, setPitch, isLanguageAvailable
Future _speak() async{
    var result = await tts.speak("Hello World");
    if (result == 1) setState(() => ttsState = TtsState.playing);
}

Future _stop() async{
    var result = await tts.stop();
    if (result == 1) setState(() => ttsState = TtsState.stopped);
}

List<dynamic> languages = await tts.getLanguages;

await tts.setLanguage("en-US");

await tts.setSpeechRate(1.0);

await tts.setVolume(1.0);

await tts.setPitch(1.0);

await tts.isLanguageAvailable("en-US");
Listening for platform calls
// #NEW
tts.setProgressHandler((String fullPhrase, int wordOffset, int endOfWordOffset, String currentWord) {
  setState(() {
    _wordToDisplay = currentWord;
  });
});

tts.setStartHandler(() {
  setState(() {
    ttsState = TtsState.playing;
  });
});

tts.setCompletionHandler(() {
  setState(() {
    ttsState = TtsState.stopped;
  });
});

tts.setErrorHandler((msg) {
  setState(() {
    ttsState = TtsState.stopped;
  });
});

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.