HTML5 視頻直播代碼 .NET + C#
HTML5 是一個(gè)開放標(biāo)準(zhǔn),允許瀏覽器直接播放視頻和音頻,而無需使用插件。在 .NET 平臺(tái)上,我們可以使用 ASP.NET SignalR 構(gòu)建實(shí)時(shí) Web 應(yīng)用程序,并與 HTML5 視頻一起使用。
讓我們看一下如何使用 HTML5 視頻直播代碼 .NET + C#。
// HTML 5 視頻直播代碼 .NET + C# using Microsoft.AspNet.SignalR; using System.Threading.Tasks; namespace VideoBroadcast { public class VideoBroadcastHub : Hub { public void BroadcastVideo(byte[] video) { Clients.Others.broadcastVideo(video); } } } // 在客戶端使用以下 JavaScript: var connection = $.hubConnection(); var videoBroadcastHub = connection.createHubProxy('videoBroadcastHub'); videoBroadcastHub.on('broadcastVideo', function (video) { var videoPlayer = document.getElementById('videoPlayer'); var videoBlob = new Blob([video]); videoPlayer.src = URL.createObjectURL(videoBlob); }); connection.start() .done(function() { videoBroadcastHub.invoke('broadcastVideo', [videoData]); }) .fail(function(error) { console.log(error); });
在此示例中,我們創(chuàng)建了一個(gè)名為 VideoBroadcastHub 的 SignalR 儲(chǔ)存庫,并定義了一個(gè)名為 BroadcastVideo 的方法。此方法將視頻數(shù)據(jù)發(fā)送到所有其他客戶端,以便他們可以播放視頻。
在客戶端,我們創(chuàng)建一個(gè) SignalR 連接,使用 VideoBroadcastHub 代理,并在 BroadcastVideo 方法中發(fā)送視頻數(shù)據(jù)。當(dāng)我們接收到廣播視頻事件時(shí),我們將視頻數(shù)據(jù)轉(zhuǎn)換為 blob,并使用 URL.createObjectURL 將其設(shè)置為視頻播放器的 source。
通過這種方式,我們成功地使用 HTML5 視頻直播代碼 .NET + C# 構(gòu)建了實(shí)時(shí)視頻應(yīng)用程序。