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 上调用此方法,它会记录警告且不执行任何操作
- 未能关闭连接可能会导致资源泄漏,并可能产生语音服务提供商计费问题