---
title: william-weng/wwtexttospeechmanager
framework: Swift Package Catalog
role: article
path: packages/william-weng/wwtexttospeechmanager
---

# william-weng/wwtexttospeechmanager

[English](./README.en.md) | [正體中文](./README.md)

## ✨ 功能特色

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

## 📦 安裝方式

### Swift Package Manager

```bash 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)? | 語音播放被取消時的回呼。 |

## 🧪 完整範例

```swift 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
