voice.close()
close() 方法會中斷與實時語音服務的連線並清理資源。這對於妥善結束語音工作階段及避免資源洩漏十分重要。
使用範例使用範例 的直接連結
import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
import { getMicrophoneStream } from '@mastra/node-audio'
// Initialize a real-time voice provider
const voice = new OpenAIRealtimeVoice({
realtimeConfig: {
model: 'gpt-5.1-realtime',
apiKey: process.env.OPENAI_API_KEY,
},
})
// Connect to the real-time service
await voice.connect()
// Start a conversation
voice.speak("Hello, I'm your AI assistant!")
// Stream audio from a microphone
const microphoneStream = getMicrophoneStream()
voice.send(microphoneStream)
// When the conversation is complete
setTimeout(() => {
// Close the connection and clean up resources
voice.close()
console.log('Voice session ended')
}, 60000) // End after 1 minute
參數參數 的直接連結
此方法不接受任何參數。
傳回值傳回值 的直接連結
此方法沒有傳回值。
注意事項注意事項 的直接連結
- 完成實時語音工作階段後,請務必呼叫
close()以釋放資源 - 呼叫
close()後,如要開始新的工作階段,便需要再次呼叫connect() - 此方法主要用於維持持續連線的實時 voice provider
- 如在不支援實時連線的 voice provider 上呼叫此方法,系統會記錄警告,而不會執行任何操作
- 未有關閉連線可能會導致資源洩漏,亦可能產生 voice service provider 的收費問題