杨家超-c 发表于 2017-12-27 17:23:23

媒体文件及网络流媒体播放接口使用补充

本帖最后由 杨家超-c 于 2017-12-27 17:26 编辑

在一些应用场景中,需要将媒体文件(或网络流媒体)播放给远端的用户收看,而运用AnyChatSDK可以很方便地实现该功能,下面简要介绍下改功能的实现:

1、在成功登陆系统且进入房间后,打开本地设备:// 如果应用场景不需要打开本地摄像头,可以省略这两步
BRAC_SetVideoPos(-1, hWnd, dwLeft, dwTop, dwRight, dwBottom);
BRAC_UserCameraControl(-1,TRUE);
      
BRAC_UserSpeakControl(-1,TRUE);                // 如果要对方能听到媒体的音频,这步必须调用2、初始化外部媒体及开始播放:// 需要把音视频媒体流发给对方的话,ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT、ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT 这两个标记位是肯定要设置的;
// 后面的json参数指定的streamindex也是需要的,可根据场景需求绑定其他通道号(我这里绑定的是0号流,开始播放之后会替换之前的默认摄像头媒体流)
BRAC_StreamPlayInit(szGUID, szMP4Path, ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT | ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT, "{\"streamindex\":0}");
BRAC_StreamPlayControl(szGUID, NYCHAT_STREAMPLAY_CTRL_START);
BRAC_StreamPlaySetVideoPos(szGUID, hWnd, dwLeft, dwTop, dwRight, dwBottom);3、至此对方只要进入此房间,请求这一路音视频流,即可以看到播放中的媒体了。(PS:由于我这里在播放端绑定的是0号流,所以使用AnyChat的标准demo不用修改任何一行代码即可以接收到播放的媒体流了;反之,如果播放端绑定是其他streamindex,那么对方就要请求相应的媒体通道)
页: [1]
查看完整版本: 媒体文件及网络流媒体播放接口使用补充