应用画面全屏 我需要自定义应用画面分辨率 平台抓流方式 应用运行后, 平台会以应用窗口的分辨率抓取视频流并传输至前端, 若运行过程中应用分辨率被中途修改, 视频流分辨率也会随之发生改变. 自定义分辨率 由于推流分辨率依赖于应用分辨率, 因此, 只需更改应用分辨率即可 在UE4中, 对于C++用户:UKismetSystemLibrary::ExecuteConsoleCommand(this, "r.setRes 1920x1080w", 0); 但自定义分辨率会受限于机器分辨率, 例如对于2k机器, 其所允许的最大分辨率为1920x1080, 若超过此值, 则分辨率命令将会失效。 你可以利用此功能让应用变成竖屏应用, 也可以适当增加应用分辨率以提升画面清晰度, 也可以适当降低分辨率以节省带宽和降低网络需求。 动态分辨率 有些时候, 在设置固定应用分辨率并不能满足业务场景时, 例如, 客户希望应用动态适配前端设备的屏幕百分比而不必进行画面裁剪(UMG系统内置了一套纵横比自适应系统).我们可以基于此前建立的网页端与应用端的网络通信实现动态分辨率。 1. 在网页端, 你可以发送一则消息:ConsoleCommand:r.setRes 1920x1080w,随后在UE中解析此json并进行拼接即可 2. 对于C++而言, 可以监听RayvisionSocket组件的OnMessage方法, 随后进行解析: void { if(Message.StartsWith("ConsoleCommand")) { const FString ResCommand Message.RightChop(Message.Find(":")+1); } } 3. 当需要修改分辨率时, 只需要调用前端对应的emit接口即可。