untiy zfbrowser显示不支持html5视频播放,或者需要下载flash插件

这是因为zfbrowser不支持h.264格式的视频导致的,因为需要额外支付高额的专利费用

可以改用3DWebView,这个支持,需要注意的是这个插件电脑版和手机版是分开的,手机版的名字叫UniWebView
电脑版下载链接

使用的时候只需要将如下拖到Canvas下即可
在这里插入图片描述

使用这个属性可以修改进入的地址
在这里插入图片描述

默认情况下,3DWebView依然弹出不支持html5,此时我们只需要使用菜单栏的选项,即可
在这里插入图片描述

需要注意的是,很多文章里说可以这样修改网页

CanvasWebViewPrefab.WebView.LoadUrl("");

但是经过测试webview会报Null,问题还在查找,目前可以使用如下来修改进入时的地址

CanvasWebViewPrefab.InitialUrl ="地址";
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现C# HttpListener接收Unity上传的视频,并且在两端显示进度,你可以按照以下步骤进行操作: 1. 在Unity中使用UnityWebRequest类来上传视频,同时在上传时通过POST方式发送进度信息。 ```csharp IEnumerator UploadVideo() { UnityWebRequest request = UnityWebRequest.Post(uploadURL, form); request.SendWebRequest(); while (!request.isDone) { float progress = request.uploadProgress; // 通过POST方式发送进度信息 UnityWebRequest progressRequest = UnityWebRequest.Post(progressURL, progressForm); progressRequest.SendWebRequest(); yield return null; } } ``` 2. 在C#中使用HttpListener接收视频和进度信息。 ```csharp public async Task StartListener() { HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://localhost:8080/"); listener.Start(); while (true) { HttpListenerContext context = await listener.GetContextAsync(); HttpListenerRequest request = context.Request; HttpListenerResponse response = context.Response; if (request.HttpMethod == "POST" && request.Url.LocalPath == "/video") { // 接收视频 using (var stream = File.Create("video.mp4")) { await request.InputStream.CopyToAsync(stream); } } else if (request.HttpMethod == "POST" && request.Url.LocalPath == "/progress") { // 接收进度信息 string progress = new StreamReader(request.InputStream).ReadToEnd(); Console.WriteLine("Progress: " + progress); } } } ``` 3. 在接收进度信息的同时,可以使用WebSocket来将进度信息发送到另一个客户端。 ```csharp public async Task StartWebSocket() { HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://localhost:8081/"); listener.Start(); while (true) { HttpListenerContext context = await listener.GetContextAsync(); HttpListenerWebSocketContext webSocketContext = await context.AcceptWebSocketAsync(subProtocol: null); WebSocket webSocket = webSocketContext.WebSocket; while (webSocket.State == WebSocketState.Open) { HttpListenerRequest request = await webSocketContext.WebSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); HttpListenerResponse response = context.Response; // 发送进度信息 string progress = GetProgress(); byte[] bytes = Encoding.UTF8.GetBytes(progress); await webSocket.SendAsync(new ArraySegment<byte>(bytes), WebSocketMessageType.Text, true, CancellationToken.None); } } } ``` 4. 在另一个客户端中使用WebSocket来接收进度信息,并且在界面上显示出来。 ```csharp public async Task StartWebSocket() { using (ClientWebSocket webSocket = new ClientWebSocket()) { Uri serverUri = new Uri("ws://localhost:8081/"); await webSocket.ConnectAsync(serverUri, CancellationToken.None); while (webSocket.State == WebSocketState.Open) { byte[] buffer = new byte[1024]; WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); if (result.MessageType == WebSocketMessageType.Text) { string progress = Encoding.UTF8.GetString(buffer, 0, result.Count); // 在界面上显示进度信息 Console.WriteLine("Progress: " + progress); } } } } ``` 通过以上步骤,你就可以实现C# HttpListener接收Unity上传的视频,并且在两端显示进度了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值