> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # play_silence > Play silence on a call for a number of seconds. [play]: /docs/server-sdks/reference/python/relay/call/play Play silence for `duration` seconds. A typed convenience over [`play()`][play] that builds the `{"type": "silence", "params": {"duration": ...}}` media item for you. ## Parameters **`duration`** `float` — required Seconds of silence to play. --- **`on_completed`** `Callable[[RelayEvent], Any] | None` — default: None Callback invoked when the operation reaches a terminal state. Can be a regular function or async coroutine. Keyword-only. --- ## Returns [`PlayAction`](/docs/server-sdks/reference/python/relay/actions) -- An action handle with `stop()`, `pause()`, `resume()`, `volume()`, and `wait()` methods. ## Example ```python {12-13} from signalwire.relay import RelayClient client = RelayClient( project="your-project-id", token="your-api-token", contexts=["default"], ) @client.on_call async def handle_call(call): await call.answer() await (await call.play_tts("One moment.")).wait() await (await call.play_silence(2)).wait() client.run() ``` > Play silence on a call for a number of seconds.