💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### 媒体播放 媒体播放是双录中的一个重要功能。AnyChat提供了媒体文件及网络流媒体播放能力,接口定义请参考:[增加媒体文件及网络流媒体播放能力](http://bbs.anychat.cn/forum.php?mod=viewthread&tid=2934) #### 接口及接口参数定义 ``` // 流媒体播放初始化接口 function BRAC_StreamPlayInit(lpTaskGuid, lpStreamPath, dwFlags, lpStrParam) // 流媒体播放控制接口 function BRAC_StreamPlayControl(lpTaskGuid, dwCtrlCode, dwParam, dwFlags, lpStrParam) // 设置流媒体播放视频显示位置接口 function BRAC_StreamPlaySetVideoPos(lpTaskGuid, parentobj, id) // 流媒体播放获取参数信息接口 function BRAC_StreamPlayGetInfo(lpTaskGuid, dwInfoName) // 流媒体播放释放资源接口 function BRAC_StreamPlayDestroy(lpTaskGuid, dwFlags) // 媒体播放标志定义(API:BRAC_StreamPlayInit 传入参数) var ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT = 1; // 播放音频流代替本地音频输入(Mic) var ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT = 2; // 播放视频流代替本地视频输入(Camera) // 媒体播放控制类型定义(API:BRAC_StreamPlayControl 传入参数) var ANYCHAT_STREAMPLAY_CTRL_START = 1; // 开始播放 var ANYCHAT_STREAMPLAY_CTRL_PAUSE = 2; // 暂停播放 var ANYCHAT_STREAMPLAY_CTRL_STOP = 3; // 停止播放 var ANYCHAT_STREAMPLAY_CTRL_SEEK = 4; // 位置拖动 var ANYCHAT_STREAMPLAY_CTRL_SPEEDCTRL = 5; // 速度调整 var ANYCHAT_STREAMPLAY_CTRL_OPENLOOP = 6; // 打开循环播放 var ANYCHAT_STREAMPLAY_CTRL_CLOSELOOP = 7; // 关闭循环播放 // 媒体播放信息类型定义(API:BRAC_StreamPlayGetInfo 传入参数) var ANYCHAT_STREAMPLAY_INFO_JSONVALUE = 1; // 包含所有播放信息的Json字符串 ``` 媒体播放接口主要调用顺序: 1. 媒体播放初始化 2. 媒体播放控制 3. 设置媒体播放区域 4. 获取媒体播放参数信息(可选) 5. 媒体播放释放资源 #### 媒体播放初始化 ``` // 获取TaskGuid var taskGuID = BRAC_GetSDKOptionString(BRAC_SO_CORESDK_NEWGUID); // 设置初始化媒体标志,如果音视频都需要,则把两个加起来传入 var streamPlayFlag = ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT; // 设置新插入的流为5号流(其实插视频才需要用到,这里不需要用到) var strParamJson = { streamindex: 5 } BRAC_StreamPlayInit(taskGuID, mediaUrl, streamPlayFlag, JSON.stringify(strParamJson)); ``` #### 媒体播放控制 ``` BRAC_StreamPlayControl(taskGuID, ANYCHAT_STREAMPLAY_CTRL_START, 0, 0, ''); ``` #### 设置媒体播放区域 ``` BRAC_StreamPlaySetVideoPos(taskGuID ,div_id, "object_id"); // div_id:此处是指要指定到某个div来播放,需要传入DOM对象 // object_id:此处是指生成的播放插件id,传入字符串 ``` #### 获取媒体播放参数信息(可选) ``` var result = BRAC_StreamPlayGetInfo(taskGuID, ANYCHAT_STREAMPLAY_INFO_JSONVALUE); //返回json 详情 { "audiobitrate": 256, "audiocodec": 23, "audioduration": 45540, "bitspersample": 16, "channels": 1, "errorcode": 0, "filebitrate": 256, "fileduration": 45540,//媒体总时间 "filename": "2.mp3", "playspeed": 1, "playstatus": 0, "playtime": 0, //播放到进度时间 "samplespersec": 16000, "taskguid": "E444CCD1-4D27-48FE-A9D5-BD0074A0B557" } ``` #### 媒体播放释放资源 ``` BRAC_StreamPlayDestroy(taskGuID, 0); ```