
# 直播控制HTTP Command命令说明
分身数字人直播过程中，支持通过HTTP API的方式人工接管直播。人工接管以后，支持通过下述方式驱动数字人说话：
- 文本驱动方式：对应Command命令为"INSERT_PLAY_SCRIPT"，即插入表演脚本，用于互动回复。数字人不变时，背景不变。其参数结构定义为"[PlayTextInfo]"。
- 音频驱动方式：对应Command命令为"INSERT_PLAY_AUDIO"，即插入驱动音频，用于音频直接驱动。数字人不变时，背景不变。其参数结构定义为"[PlayAudioInfo]"。
[控制数字人直播过程](https://support.huaweicloud.com/api-metastudio/ExecuteSmartLiveCommand.html)接口的Command命令说明，如下所示：
- Command命令为"GET_CURRENT_PLAYING_SCRIPTS"时，即查询本轮剧本列表。其响应结构定义为"[LivePlayingScriptList]"。
- Command命令为"CLEAN_UP_INSERT_COMMAND"时，即清理未播放的插入命令。其参数结构定义为"[CleanUpInsertCommand]"。
 #### PlayTextInfo
表1PlayTextInfo 
| 参数          | 是否必选 | 参数类型                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| text_config | 否    | [表2] object | 话术配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| play_type   | 否    | String                                               | 播放类型。 取值如下所示： - APPEND：在播放队列的尾部追加播放。  - INSERT：在两个音频文件中间插入播放，或在当前正播放文本的句末插入播放。  - PLAY_NOW：收到指令后，立即插入播放。无需等待当前文本播放至句末。   默认值：PLAY_NOW。 取值最小长度0，最大长度32。 |
| play_role   | 否    | String                                               | 播放角色。 取值如下所示： - STREAMER：主播  - CO_STREAMER：助播   默认值：STREAMER，即主播。 取值最小长度0，最大长度32。                                                                                                                                            |
| rule_index  | 否    | String                                               | 互动回调触发插入音频回复时，携带触发的互动规则索引。 取值最小长度0，最大长度64。                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表2TextConfig 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| text | 是    | String | 台词脚本。支持两种模式，纯文本模式和标签模式。 - 纯文本模式：使用方法，如"大家好，我是人工智能小A，是位虚拟主播"。   - 标签模式：SSML标签的详细定义请参考[文本驱动SSML定义](https://support.huaweicloud.com/api-metastudio/metastudio_02_0038.html)。    取值最小长度1，最大长度131072。 |
   
 #### PlayAudioInfo
表3PlayAudioInfo 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| audio_url  | 否    | String | 音频URL。 取值最小长度0，最大长度2048**。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| play_type  | 否    | String | 播放类型。 取值如下所示： - APPEND：在播放队列的尾部追加播放。  - INSERT：在两个音频文件中间插入播放，或在当前正播放文本的句末插入播放。  - PLAY_NOW：收到指令后，立即插入播放。无需等待当前文本播放至句末。   默认值：APPEND。 取值最小长度0，最大长度32。 |
| play_role  | 否    | String | 播放角色。 取值如下所示： - STREAMER：主播  - CO_STREAMER：助播   缺省值：STREAMER，即主播。 取值最小长度0，最大长度32。                                                                                                                                                                                                                                                                        |
| rule_index | 否    | String | 互动回调触发插入音频回复时，携带触发的互动规则索引。 取值最小长度0，最大长度64。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
 #### LivePlayingScriptList
表4LivePlayingScriptList 
| 参数            | 是否必选 | 参数类型                                                   | 描述                                                           |
|:---|:---|:---|:---|
| scene_scripts | 否    | Array of [表5] | 直播剧本列表。 数组长度：\[1,100\]。 |
   
 表5LivePlayingScriptInfo 
| 参数             | 是否必选 | 参数类型                                                     | 描述                                                            |
|:---|:---|:---|:---|
| script_name    | 否    | String                                                   | 剧本名称。 最小长度1，最大长度256。      |
| model_asset_id | 否    | String                                                   | 数字人模型资产ID。 最小长度0，最大长度64。 |
| shoot_scripts  | 否    | Array of [表6] | 拍摄脚本列表。 数组长度：\[0,100\]。  |
   
 表6LivePlayingShootScriptItem 
| 参数          | 是否必选 | 参数类型    | 描述                                                               |
|:---|:---|:---|:---|
| sequence_no | 否    | Integer | 剧本序号。 取值范围：\[0,2147483647\]。 |
| title       | 否    | String  | 段落标题。 最小长度0，最大长度256。       |
   
 #### CleanUpInsertCommand
表7CleanUpInsertCommand 
| 参数          | 是否必选 | 参数类型             | 描述                                                                                                                             |
|:---|:---|:---|:---|
| command_ids | 否    | Array of strings | 命令ID列表。如果不填，则清理全部未播放的插入命令。 最小长度1，最大长度64。 数组长度：0\~100。 |
   
