using EC.App.Core; using EC.App.ThatBLL.Onvif; using Furion.DataValidation; using Microsoft.AspNetCore.Mvc; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; namespace OnvifWebServer.Controllers.Onvif { /// /// Onvif 媒体参数控制 /// [ApiController] [ApiDescriptionSettings("Onvif")] [Route("onvif/[controller]")] public class MediaController : ApiController { private readonly IMediaBLL _mediaBLL; /// /// /// /// public MediaController(IMediaBLL mediaBLL) { this._mediaBLL = mediaBLL; } /// /// 是否连接 /// /// /// [HttpGet] public bool IsConnected( [Required][DataValidation(ValidationTypes.IPv4)] string ip) { bool ret = _mediaBLL.IsConnected(ip); return ret; } /// /// 获取播放视频 URL /// /// /// [HttpGet] public async Task GetStreamUri( [Required][DataValidation(ValidationTypes.IPv4)] string ip) { string uri = await _mediaBLL.GetStreamUri(ip); return uri; } /// /// 获取抓图 URL /// /// /// [HttpGet] public async Task GetSnapshotUri( [Required][DataValidation(ValidationTypes.IPv4)] string ip) { string uri = await _mediaBLL.GetSnapshotUri(ip); return uri; } } }