Contents

william-weng/wwtexttospeechmanager

English | 正體中文

✨ 功能特色

  • 將文字轉換成語音播放。
  • 使用語言識別碼選擇語音,例如 en-US、zh-TW 或 ja-JP。
  • 自訂語音速度、音調與音量。
  • 支援開始、暫停、繼續與停止播放。
  • 查詢目前是否正在播放或暫停。
  • 可選擇是否啟用語音事件回呼。
  • 監聽目前即將播放的文字範圍。
  • 適合與主執行緒上的 UI 安全整合。

📦 安裝方式

Swift Package Manager

swift package add https://github.com/William-Weng/WWTextToSpeechManager.git

或在 Xcode 中:

File → Add Packages → https://github.com/William-Weng/WWTextToSpeechManager.git

📌 公開屬性

| 屬性 | 類型 | 說明 | | --- | --- | --- | | range | SpeechProgress | 目前正在播放文字的 NSRange。 | | text | SpeechProgress | 目前文字範圍所包含的內容。 | | progress | SpeechProgress | 介於 0.0 到 1.0 的預估進度。 | | fullText | SpeechProgress | 完整的語音文字內容。 |

💡 公開API

| 屬性 | 類型 | 說明 | | --- | --- | --- | | init(rate:pitchMultiplier:volume:usesCallback:) | WWTextToSpeechManager | 建立文字轉語音管理器。 |

🏗️ 公開回呼

| 屬性 | 說明 | | --- | --- | | onStart: ((String) -> Void)? | 語音開始播放時的回呼。 | | onProgress: ((SpeechProgress) -> Void)? | 語音即將播放某段文字時的回呼。 | | onPause: ((String) -> Void)? | 語音暫停時的回呼。 | | onContinue: ((String) -> Void)? | 語音繼續播放時的回呼。 | | onFinish: ((String) -> Void)? | 語音播放完成時的回呼。 | | onCancel: ((String) -> Void)? | 語音播放被取消時的回呼。 |

🧪 完整範例

import UIKit
import WWTextToSpeechManager

final class ViewController: UIViewController {

    private let tts = WWTextToSpeechManager()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        tts.speak(text: "安安,你好嗎?", language: "zh-TW")
    }
}

Package Metadata

Repository: william-weng/wwtexttospeechmanager

Default branch: main

README: README.md