|
本帖最后由 杨家超-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,那么对方就要请求相应的媒体通道)
|
|