Swift 文字轉語音效果 🎤 是一個非常實用的功能,能夠將文字轉換成語音,讓你的應用程式更具互動性。在這篇文章中,我們將深入探討如何使用 Swift 實現文字轉語音效果,並介紹最新的語法與最佳實踐(2025)。

使用 AVSpeechSynthesizer 實現文字轉語音

AVSpeechSynthesizer 是 iOS 平台上用於語音合成的核心類別,它能夠將文字轉換成語音並播放。首先,我們需要將要轉換的文字包裝成 AVSpeechUtterance 物件,然後將其傳遞給 AVSpeechSynthesizer 進行播放。

基本示例

以下是使用 AVSpeechSynthesizer 將文字轉換為語音的基本範例:

let speechSynthesizer = AVSpeechSynthesizer()
let speechUtterance = AVSpeechUtterance(string: "Hello World")
speechSynthesizer.speak(speechUtterance)

在這個範例中,我們創建了一個 AVSpeechSynthesizer 實例,然後創建了一個 AVSpeechUtterance 實例,將 “Hello World” 傳遞給它。最後,我們呼叫 speak 方法來播放這段文字。

控制語音播放

AVSpeechSynthesizer 還提供了一些方法來控制語音播放,例如暫停、繼續或停止語音播放。以下是相關的範例:

// 暫停
speechSynthesizer.pauseSpeaking(at: .word)

// 繼續
speechSynthesizer.continueSpeaking()

// 停止
speechSynthesizer.stopSpeaking(at: .immediate)

在這段程式碼中,我們可以使用 pauseSpeaking 方法暫停語音播放,continueSpeaking 繼續播放,以及 stopSpeaking 停止播放。

錯誤排除

在開發過程中,你可能會遇到語音播放無法啟動的情況。以下是一些常見問題及其解決方法:

  • 語音合成未啟動:確保在主線程中呼叫 speak 方法。
  • 聲音聽起來不自然:可以嘗試更改 AVSpeechUtterance 的語音特性,例如速率、音量和語調。

延伸應用

文字轉語音的應用範圍廣泛,可以用於語音助手、無障礙應用程式或教育應用程式。開發者可以根據使用者的需求,添加自訂的語音選擇和語速調整功能。

Swift 文字轉語音效果 🎤

Q&A(常見問題解答)

1. AVSpeechSynthesizer 支援哪些語言?

AVSpeechSynthesizer 支援多種語言,具體支援的語言取決於設備的系統語言和可用的語音。

2. 如何更改語音的音量和語速?

可以通過設置 AVSpeechUtteranceratevolume 屬性來調整音量和語速。例如:speechUtterance.rate = AVSpeechUtteranceDefaultSpeechRate

3. 文字轉語音的最佳實踐是什麼?

在實作文字轉語音時,確保處理各種錯誤情況,並提供用戶友好的界面選項,以便用戶能夠輕鬆選擇語音和調整參數。

Categorized in:

Tagged in:

,