用途:在 Java 代码中调用 Deepgram Conversational STT v2 / Flux,通过 /v2/listen 对对话音频做可感知轮次的流式转写,获取明确的轮次事件而非普通的中途/最终转写片段,适合结束轮次时机重要的对话式交互。
主要能力:入口为 client.listen().v2().v2WebSocket();连接必填字段为 model(String),源码中已验证的连接选项包括 encoding、sampleRate、eagerEotThreshold、eotThreshold、eotTimeoutMs、keyterm、mipOptOut、tag;发送方法有 sendMedia(...) 与 sendCloseStream(...);事件处理器有 onConnected、onTurnInfo、onErrorMessage 及通用连接/错误钩子。
使用方式:先用 DeepgramClient.builder().apiKey(System.getenv("DEEPGRAM_API_KEY")).build() 构建客户端,再创建 V2WebSocketClient,注册 onConnected 与 onTurnInfo 等回调,调用 connect(V2ConnectOptions.builder().model("flux-general-en").build()).get(10, TimeUnit.SECONDS) 等待连接完成,之后手动流式发送二进制音频,最后用 sendCloseStream(...) 关闭。
限制与注意:Java SDK 中该接口仅支持 WebSocket,没有 /v2/listen 的 REST 辅助方法;model 是普通字符串而非枚举,需精确使用 flux-general-en 等 Flux 模型 ID;关闭须用 sendCloseStream(...),消息类型与 v1 不同;当前 Java 连接选项未暴露 language_hint;轮次事件是主要载荷,应处理 onTurnInfo 而非 v1 的 onResults;音频需自行流式发送;发送媒体前须等待 connect(...).get(...) 完成。仓库示例见 examples/listen/LiveStreamingV2.java。