예제 #1
0
        private async Task <MediaStatus> SendAsync(MediaSessionMessage message)
        {
            var chromecastStatus = Client.GetChromecastStatus();

            message.MediaSessionId = Status?.First().MediaSessionId ?? throw new ArgumentNullException("MediaSessionId");
            return(await SendAsync(message, chromecastStatus.Applications[0]));
        }
예제 #2
0
        private Task <MediaStatus> SendAndSetSessionIdAsync(ISender sender, MediaSessionMessage message, bool mediaSessionIdRequired = true)
        {
            var mediaSessionId = Status?.FirstOrDefault()?.MediaSessionId;

            if (mediaSessionIdRequired && mediaSessionId == null)
            {
                return(Task.FromResult <MediaStatus>(null));
            }
            message.MediaSessionId = mediaSessionId;
            return(SendAsync(sender, message));
        }
예제 #3
0
        private Task <MediaStatus> SendAsync(MediaSessionMessage message, bool mediaSessionIdRequired = true)
        {
            var mediaSessionId = Status?.FirstOrDefault().MediaSessionId;

            if (mediaSessionIdRequired && mediaSessionId == null)
            {
                throw new ArgumentNullException("MediaSessionId");
            }
            message.MediaSessionId = mediaSessionId;
            return(SendAsync((IMessageWithId)message));
        }
예제 #4
0
 private void SetMediaSessionId(MediaSessionMessage message)
 {
     message.MediaSessionId = Status?.First().MediaSessionId ?? throw new ArgumentNullException("MediaSessionId");
 }
예제 #5
0
 private async Task <MediaStatus> SendAsync(MediaSessionMessage message)
 {
     message.MediaSessionId = Status?.First().MediaSessionId ?? throw new ArgumentNullException("MediaSessionId");
     return(await SendAsync(message, null));
 }