> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # voice.off() `off()` 方法會移除先前以 `on()` 方法註冊的事件監聽器。對於具備即時語音功能且長時間執行的應用程式,此方法特別適合用來清理資源並避免記憶體洩漏。 ## 使用範例 ```typescript import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime' import chalk from 'chalk' // 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() // Define the callback function const writingCallback = ({ text, role }) => { if (role === 'user') { process.stdout.write(chalk.green(text)) } else { process.stdout.write(chalk.blue(text)) } } // Register event listener voice.on('writing', writingCallback) // Later, when you want to remove the listener voice.off('writing', writingCallback) ``` ## 參數 **event** (`string`): 要停止監聽的事件名稱(例如 'speaking'、'writing'、'error') **callback** (`function`): 先前傳遞給 on() 的同一個回呼函式 ## 傳回值 此方法不會傳回值。 ## 注意事項 - 傳遞給 `off()` 的回呼必須與傳遞給 `on()` 的函式參照相同 - 如果找不到該回呼,此方法不會有任何作用 - 此方法主要搭配支援事件式通訊的即時語音 Provider 使用 - 若對不支援事件的語音 Provider 呼叫此方法,系統會記錄警告且不執行任何動作 - 移除事件監聽器對於避免長時間執行的應用程式發生記憶體洩漏十分重要