html怎么做网站的背景,开网页慢是什么原因,响应式网站的字体设置,无锡那家网络公司做网站好背景近几年直播行业快速发展#xff0c;门槛也越来越低#xff0c;越来越的人涌入直播大军。不得不说#xff0c;直播不仅带来了更多的娱乐消遣#xff0c;还提供了一个新型的就业方式。说起直播的类型#xff0c;有一个非常小众的娱乐直播#xff0c;没有主播#xff0…背景近几年直播行业快速发展门槛也越来越低越来越的人涌入直播大军。不得不说直播不仅带来了更多的娱乐消遣还提供了一个新型的就业方式。说起直播的类型有一个非常小众的娱乐直播没有主播全靠观众的弹幕互动。比如直播修仙观众发弹幕进入修仙就可以看到自己的打坐小人然后屏幕各种随机事件送主播礼物可以获取各种道具。近期在微信刷视频号的时候发现了好多类似的互动直播有云蹦迪和各种互动游戏。视频号直播截图今天我们只聊技术互动直播平台没有提供相关的 API 如何通过观众的评论来互动的实现原理这里以微信视频号直播为例介绍一种获取直播事件消息的方法当然方法也适用于类似的其他平台。视频号开启直播的时候在视频号的 Web 管理后台会同时看到观众发送的评论和产生的其他互动。那么只需要通过开发一个浏览器插件就可以实现实时获取评论信息。这里我们 通过 WebView2 来获取请求评论的响应内容来实现。实现步骤首先创建一个 WPF 应用添加 Microsoft.Web.WebView2 包然后页面添加WebView2组件首页直接为视频号管理后台。GridWpf:WebView2 Sourcehttps://channels.weixin.qq.com/platform/live/liveBuild MinWidth800 MinHeight500 NamewebView/
/Grid在WebView2初始化完成后绑定WebResourceResponseReceived事件。此事件可以获取到所有请求的内容这里只需要获取/mmfinderassistant-bin/live/msg的链接请求即可然后获取请求返回的内容。public MainWindow()
{InitializeComponent();webView.CoreWebView2InitializationCompleted WebView_CoreWebView2InitializationCompleted;
}private void WebView_CoreWebView2InitializationCompleted(object? sender, Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs e)
{webView.CoreWebView2.WebResourceResponseReceived CoreWebView2_WebResourceResponseReceivedAsync;
}private async void CoreWebView2_WebResourceResponseReceivedAsync(object? sender, CoreWebView2WebResourceResponseReceivedEventArgs e)
{if (e.Request.Uri.EndsWith(/mmfinderassistant-bin/live/msg) e.Response ! null e.Response.StatusCode200){Stream content await e.Response.GetContentAsync();string jsonText new StreamReader(content).ReadToEnd();var list ToLiveMsg(jsonText);}
}以下是内容的处理。public ListLiveMsg ToLiveMsg(string str) {JsonNode jsonNode JsonNode.Parse(str)!;var res new ListLiveMsg();var dataInfo jsonNode[data];if (dataInfo is null) return res;if (dataInfo[msgList] is null) return res;foreach (var item in dataInfo[msgList]!.AsArray()){var msg JsonSerializer.DeserializeLiveMsg(item);Debug.Print(msg.ToString());res.Add(msg!);}return res;
}/// summary
/// 直播互动消息内容
/// /summary
/// param namenickname昵称/param
/// param nameheadUrl头像URL/param
/// param namecontent消息内容/param
/// param nametype消息类型/param
/// param nameusername用户ID/param
/// param nameclientMsgId消息ID/param
public record LiveMsg(string nickname,string headUrl,string content,int type,string username,string clientMsgId);最后这里介绍了评论的获取方式点赞和礼物的消息可以通过类似的方式审查请求获取到对应的内容。本文虽以互动直播为例但主要为介绍如何使用.NET 的 WebView2 获取请求的响应内容。如果你对这种互动直播感兴趣可以通过 .NET 技术自己开发一个新的互动直播模式。