用途:该技能面向 Java 开发者,基于 Telnyx Java SDK(com.telnyx.sdk:telnyx:6.36.0)调用 Call Control API,实现通话中的媒体操作,常见于 IVR 系统、公告播放和通话录音场景。
主要能力:
- 播放音频:POST /calls/{call_control_id}/actions/playback_start,可指定 audio_type(mp3、wav)、audio_url、cache_audio、loop、overlay、target_legs 等;连续下发会进入播放队列。overlay 开启时 target_legs 仅限 self。停止播放使用 playback_stop,预期回调 call.playback.ended 或 call.speak.ended。
- 文本转语音:POST /calls/{call_control_id}/actions/speak,必填 payload 与 voice;可选 language、payload_type(text、ssml)、service_level、loop、target_legs、voice_settings。预期回调 call.speak.started 与 call.speak.ended。
- 通话录音:record_start 必填 format、channels,可选 transcription、transcription_engine、transcription_language(含 zh、zh-TW 等大量语言)、说话人分离、最大时长、录音音轨等;record_stop、record_pause、record_resume 控制录音状态。录音相关回调包括 call.recording.saved、call.recording.transcription.saved、call.recording.error。
使用方式:通过 TelnyxOkHttpClient.fromEnv() 初始化客户端,调用 client.calls().actions() 下的方法并传入 call_control_id(形如 v3:...)。建议用 try/catch 捕获 TelnyxServiceException,处理 401、403、404、422、429 等错误,429 采用指数退避重试。Webhook 使用 Ed25519 校验,请求携带 telnyx-signature-ed25519 与 telnyx-timestamp 头,可调用 client.webhooks().unwrap() 验证后处理事件。
限制:文档未提供收费、价格或平台支持范围等信息,暂未提供;示例假设客户端已初始化;部分字段的具体取值与行为需以官方 API 文档为准。