voice.updateConfig()
updateConfig() 方法讓你可在執行階段更新語音 Provider 的設定。你可以使用此方法更改語音設定、API key 或其他 Provider 專屬選項,而毋須建立新 instance。
使用範例使用範例 的直接連結
import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
// Initialize a real-time voice provider
const voice = new OpenAIRealtimeVoice({
realtimeConfig: {
model: 'gpt-5.1-realtime',
apiKey: process.env.OPENAI_API_KEY,
},
speaker: 'alloy',
})
// Connect to the real-time service
await voice.connect()
// Later, update the configuration
voice.updateConfig({
voice: 'nova', // Change the default voice
turn_detection: {
type: 'server_vad',
threshold: 0.5,
silence_duration_ms: 1000,
},
})
// The next speak() call will use the new configuration
await voice.speak('Hello with my new voice!')
參數參數 的直接連結
options:
Record<string, unknown>
要更新的設定選項。具體屬性視乎語音 Provider。
傳回值傳回值 的直接連結
此方法不會傳回值。
設定選項設定選項 的直接連結
不同語音 Provider 支援不同的設定選項:
OpenAI RealtimeOpenAI Realtime 的直接連結
voice?:
string
用於語音合成的語音 ID(例如 'alloy'、'echo'、'nova')
turn_detection?:
{ type: string, threshold?: number, silence_duration_ms?: number }
偵測使用者何時結束說話的設定
注意事項注意事項 的直接連結
- 如 Provider 不支援此方法,預設實作會記錄警告
- 設定更新通常套用於後續操作,而非正在進行的操作
- 並非所有可在 constructor 中設定的屬性都可在執行階段更新
- 具體行為視乎語音 Provider 的實作方式
- 對實時語音 Provider 而言,部分設定變更可能需要重新連線至服務