Merhaba arkadaşlar Azure blob'umdan bir ASP.NET MVC web uygulaması aracılığıyla bir videoyu masaüstü tarayıcılarındaki ve elbette mobil tarayıcılardaki kullanıcılara aktarmak istiyorum.MVC Mobil web tarayıcılarına video akışı
Şimdiye kadar oluşturduğum şey, web sitesine ve bir WebApi hizmeti veren bir ASP.NET MVC Uygulamasıdır. Bu, PushStreamContent olacaktır. Bu, masaüstündeki Chrome ve Edge'de harika çalışır. Ama ben bir mobil cihazda açmaya çalıştığımda, Chrome, Safari, Firefox sadece oynamayıp. Bugüne kadar
Benim Kodu:
MVC proje
<video id="vPlayer" class="video-js" autoplay controls playsinline preload="auto" data-setup='{"fluid": true}'poster="@ImgManager.GetVideoImgUrl(Model.ThumbnailUrl)">
<source src="//xyz.nl/api/Videos/Get?filename=340a85a3-ccea-4a2a-bab6-74def07e416c.webm&type=video%2Fwebm" type="video/webm">
<source src="//xyz.nl/api/Videos/Get?filename=340a85a3-ccea-4a2a-bab6-74def07e416c.mp4&type=video%2Fmp4" type="video/mp4">
public class VideoStream
{
private readonly string _filename;
public VideoStream(string fileName)
{
_filename = fileName;
}
public async Task WriteToStream(Stream outputStream, HttpContent content, TransportContext context)
{
try
{
var storage = new AzureMainStorage("avideo");
byte[] file = await storage.GetFileAsync(_filename);
var buffer = new byte[65536];
using (var video = new MemoryStream(file))
{
var length = (int)video.Length;
var bytesRead = 1;
while (length > 0 && bytesRead > 0)
{
bytesRead = video.Read(buffer, 0, Math.Min(length, buffer.Length));
await outputStream.WriteAsync(buffer, 0, bytesRead);
length -= bytesRead;
}
}
}
catch (HttpException ex)
{
Utilities.LogErrorToDb(ex);
return;
}
finally
{
outputStream.Close();
}
}
}
}
WebAPI
üzerine WebAPI
public HttpResponseMessage Get(string filename, string type)
{
var video = new VideoStream(filename);
var response = Request.CreateResponse();
response.Content = new PushStreamContent(video.WriteToStream, new MediaTypeHeaderValue(type));
return response;
}
Yardımcısı görünümü
Ayrıca bu yararlı bağlantıyı kontrol edin: Burada
Link to article benim için çalıştı kodudur? answertab = eski # sekmesi üstü –