import com.alibaba.dashscope.audio.omni.OmniRealtimeConversation; 导入 OmniRealtimeConversation 类。
public OmniRealtimeConversation(OmniRealtimeParam param, OmniRealtimeCallback callback)
OmniRealtimeConversation 实例。
参数:
| 参数 | 类型 | 说明 |
|---|---|---|
| param | OmniRealtimeParam | 会话的配置参数,包括模型、URL 和 API Key。 |
| callback | OmniRealtimeCallback | 处理服务端事件的回调实例。参见回调接口。 |
public void connect() throws NoApiKeyException, InterruptedException
public void updateSession(OmniRealtimeConfig config)
session.update 事件后会验证参数。如果参数无效,返回错误;否则更新服务端的会话配置。
服务端响应事件:session.updated(会话配置已更新)。
public void appendAudio(String audioBase64)
turn_detection,服务端使用缓冲区检测语音并决定何时提交。turn_detection,由客户端控制每个事件的音频量(最大 15 MiB)。较小的数据块可提高 VAD 的响应速度。public void appendVideo(String videoBase64)
public void clearAppendedAudio()
public void commit()
turn_detection,服务端会自动提交音频缓冲区(客户端无需发送此事件)。turn_detection,客户端必须提交音频缓冲区以创建用户消息项。input_audio_transcription,系统会对音频进行转录。public void createResponse(String instructions, List<OmniRealtimeModality> modalities)
turn_detection 模式时,服务端会自动创建模型响应。
服务端响应事件:response.created、response.output_item.added、conversation.item.created、response.content_part.added、response.audio_transcript.delta、response.audio.delta、response.audio_transcript.done、response.audio.done、response.content_part.done、response.output_item.done、response.done。
public void cancelResponse()
public void close(int code, String reason)
| 参数 | 类型 | 说明 |
|---|---|---|
| code | int | WebSocket 关闭状态码。 |
| reason | String | WebSocket 关闭原因。 |
public String getSessionId()
public String getResponseId()
public long getFirstTextDelay()
public long getFirstAudioDelay()
import com.alibaba.dashscope.audio.omni.OmniRealtimeCallback; 导入该接口。
| 方法 | 参数 | 返回值 | 说明 |
|---|---|---|---|
onOpen() | 无 | 无 | 与服务端建立连接后立即调用。 |
onEvent(JsonObject message) | message:服务端响应事件。 | 无 | 包含方法调用的响应以及模型生成的文本和音频。参见服务端事件。 |
onClose(int code, String reason) | code:WebSocket 关闭状态码。reason:WebSocket 关闭原因。 | 无 | 与服务端的连接关闭后调用。 |