You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
集成指引
集成到软件应用
复制全文
下载 pdf
集成到软件应用
本文将引导您搭建一个最基础的 AI 音视频互动方案,实现与 AI 实时对话。​
准备工作​
  1. (按需)若您使用的火山引擎子账户登录,请确保您的子账户拥有 RTCFullAccess 权限。可前往 访问控制-用户,按照界面提示为目标用户授权。​
  1. 先开通实时音视频服务。​
  1. 再切换至 AI 音视频互动方案,开通该服务。开通后,系统会自动为您创建一个默认应用(如 defaultAIAgentAppName),并赠送您一定额度的免费 Tokens 资源包。​
  • ​Image​​
  1. 使用 AI 音视频互动方案 的应用 AppId 生成 RTC 鉴权 Token。​
注意​
建议先使用默认应用的 AppId。赠送的 Tokens 仅对 AI 音视频互动方案系统默认创建应用生效,您后续自行创建的其他应用无法使用此免费额度。​
集成步骤​
第一步:实现音视频通话​
首先,需要在你的应用中集成 RTC SDK,实现基础的音视频通话能力,为 AI 的加入创建环境。核心环节如下图所示:​
​Image​​
快速实现​
请根据您的客户端平台(iOS、Android、Web 等),集成 RTC SDK 实现音视频通话能力。​
关键配置与注意事项​
  • 订阅或发布流:推荐使用默认的自动发布/订阅音频流设置。若需手动控制订阅和发布音频流,可以在调用 joinRoom 时将 isAutoPublish 和 isAutoSubscribeAudio 设置为 false,并使用 subscribeStream 和 publishStream 手动订阅或发布音频流。​
  • 优化音质:对于移动端,若场景对音频质量有更高要求(如需要播放音乐),可调用 setAudioScenario 设置合适的音频场景,使手机音量切换为媒体音量。​
注意​
对于 RTC SDK 3.60 及以上版本,可设置为 AI 对话场景(如在 Android 端为 AICLIENT)。同时还需在 创建引擎时(基于 createRTCEngine),通过 parameters 字段传入私有参数 "rtc.fg_config":"aigc_media_360=true"。​
  • 静音用户:如需让用户静音,请使用 muteAudioCapture 静音麦克风以保证最低的切换延迟。不建议使用 stopAudioCapture,该操作可能会导致声音卡顿或变声。​
  • 处理 License 配额耗尽回调:自客户端 SDK 3.60.104 起,支持 License 配额耗尽回调(onLicenseQuotaExceeded(以 Android 为例))。AI 音视频互动方案使用 License 计费时,如果配额用尽,SDK 会触发该回调,AIGC 服务会中止。收到回调后,请及时续费,并让用户离开房间、销毁 SDK;续费成功后再重新加入。​
第二步:发起 AI 实时对话​
构建音视频通话后,调用 OpenAPI StartVoiceChat(2025-06-01),实现用户与 AI 通话。​
  • 请求示例:​
  • 支持模块化方案(ASR+LLM+TTS),即将 ASR、LLM 和 TTS 作为独立模块组合;也支持直接接入豆包端到端实时语音大模型。​
  • 根据所需接入的模型服务不同,请求体配置也不同。​
  • ​
    均使用公共火山模型
    均使用自行开通的火山模型
    使用第三方模型服务
    端到端方案(以混合编排为例)
    ​
    公共模型,即平台托管的公共模型资源。相关费用会折算为 Tokens 计费,可通过 Tokens 资源包抵扣。​
    • AppId、RoomId:替换为生成 RTC Token 时使用的 AppId 和 RoomId。​
    • TaskId:由您自行定义,用于唯一标识该 AI 对话任务。​
    • AgentConfig.TargetUserId:替换为生成 RTC Token 时使用的客户端 UserId。​
    • AgentConfig.UserId:AI 的标识 ID,由您自定义。​
    • 公共模型资源场景下,ASR 和 TTS 无需填写账号鉴权参数;LLM 传入 ModelName 即可。​
    ​
    {​
    "AppId": "YOUR_AppId",​
    "RoomId": "YOUR_RoomId",​
    "TaskId": "YOUR_TaskId",​
    "Config": {​
    "ASRConfig": {​
    "Provider": "volcano",​
    "ProviderParams": {​
    "Mode": "bigmodel",​
    "Credential": {​
    "ApiResourceId": "volc.seedasr.sauc.duration"​
    },​
    "StreamMode": 2,​
    "VolcanoASRParameters": "{}"​
    },​
    "VADConfig": {},​
    "InterruptConfig": {}​
    },​
    "LLMConfig": {​
    "Mode": "ArkV3",​
    "ModelName": "doubao-seed-2-0-lite-260428",​
    "SystemMessages": [​
    "##人设\\n你是一个全能的超级助手,具备强大的知识库、情感理解能力和解决问题的能力。你的目标是高效、专业、友好地帮助用户完成各类任务,包括但不限于日常生活、工作安排、信息检索、学习辅导、创意写作、语言翻译和技术支持等;\\n\\n##约束\\n始终主动、礼貌、有条理;\\n回答准确但不冗长,必要时可提供简洁总结+详细解释;\\n不清楚的任务会主动澄清,不假设、不误导。"​
    ],​
    "HistoryLength": 10,​
    "ThinkingType": "disabled",​
    "VisionConfig": {​
    "SnapshotConfig": {},​
    "StorageConfig": {​
    "TosConfig": {}​
    }​
    }​
    },​
    "TTSConfig": {​
    "Provider": "volcano_bidirection",​
    "ProviderParams": {​
    "Credential": {​
    "ResourceId": "seed-tts-2.0"​
    },​
    "VolcanoTTSParameters": "{\\\"req_params\\\":{\\\"speaker\\\":\\\"zh_female_vv_uranus_bigtts\\\",\\\"audio_params\\\":{\\\"speech_rate\\\":0},\\\"additions\\\":{\\\"disable_markdown_filter\\\":true}}}"​
    }​
    },​
    "SubtitleConfig": {},​
    "InterruptMode": 0,​
    "FunctionCallingConfig": {},​
    "WebSearchAgentConfig": {},​
    "MemoryConfig": {},​
    "MusicAgentConfig": {}​
    },​
    "AgentConfig": {​
    "TargetUserId": [​
    "YOUR_TARGET_USER_ID"​
    ],​
    "UserId": "YOUR_AGENT_USER_ID",​
    "WelcomeMessage": "我是你的AI助手,有什么需要我为您效劳的吗?",​
    "Burst": {},​
    "VoicePrint": {}​
    }​
    }​
    ​
    ​
完成上述步骤后,就能在房间内听到 AI 的欢迎语,并开始实时对话了。​
第三步:结束对话,释放资源​
默认情况下,若 AgentConfig.TargetUserId 用户退房,180 s 后 AI 任务会自动停止,但该 180s 内仍会计费。对话结束后,为避免不必要的资源消耗和计费,请务必执行以下操作:​
  1. 调用 OpenAPI StopVoiceChat 接口结束 AI 任务。​
  1. 调用客户端 API leaveRoom(以 Android 为例)使 AgentConfig.TargetUserId 用户离开房间。​
  1. 调用客户端 API destroyRTCEngine(以 Android 为例)销毁 RTC 引擎实例,释放相关资源。​
进阶功能​
在实现了基础对话能力后,您可以探索更多高级功能来丰富用户体验,例如:​
  • 实时字幕:将对话内容实时转为文字显示。​
  • 打断 AI :允许用户在 AI 说话时随时插话。​
  • 视觉理解:让 AI 能够“看到”并理解视频画面内容。​
更多功能及实现方法,请参见进阶功能。​
附录:快速生成 StartVoiceChat 请求示例​
为了简化开发流程,您可以在控制台快速生成 StartVoiceChat 接口的核心配置代码。​
  1. 前往AI音视频互动方案控制台-我的智能体,单击创建智能体。​
  1. 按照界面提示,并按需完成各项配置后,单击右上角的保存。​
  1. 回到智能体管理页面,找到您创建的智能体,单击代码示例并复制。​
  • AppId、RoomId:替换为生成 RTC Token 时使用的 AppId 和 RoomId。​
  • TaskId:由您自行定义,用于唯一标识该 AI 对话任务。​
  • AgentConfig.TargetUserId:替换为生成 RTC Token 时使用的客户端 UserId。​
  • AgentConfig.UserId:AI 的标识 ID,由您自定义。​
​
最近更新时间:2026.09.21 16:24:33
这个页面对您有帮助吗?
有用
有用
无用
无用