> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/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()` 的 callback 必須與傳遞至 `on()` 的函數參照相同 - 如找不到 callback,此方法不會有任何作用 - 此方法主要用於支援事件式通訊的實時 voice provider - 如在不支援事件的 voice provider 上呼叫此方法,系統會記錄警告,而不會執行任何操作 - 移除事件監聽器對避免長時間運行的應用程式出現記憶體洩漏十分重要