Ejemplo n.º 1
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var           jsonObject    = JObject.Load(reader);
            int           type          = int.Parse(jsonObject["metadataType"].ToString());
            MediaMetadata mediaMetadata = null;

            switch (type)
            {
            case 1:
                mediaMetadata = new GenericMediaMetadata();
                break;

            case 2:
                mediaMetadata = new MovieMediaMetadata();
                break;

            case 3:
                mediaMetadata = new MusicTrackMediaMetadata();
                break;

            case 4:
                mediaMetadata = new PhotoMediaMetadata();
                break;
            }

            if (mediaMetadata != null)
            {
                serializer.Populate(jsonObject.CreateReader(), mediaMetadata);
            }

            return(mediaMetadata);
        }
Ejemplo n.º 2
0
        public void Load(Uri contentUri, string contentType, MediaMetadata metadata, bool autoPlay = true, StreamType streamType = StreamType.BUFFERED)
        {
            EnsureChannelIsConnected();
            Application runningApplication = EnsureApplicationIsRunning();

            if (runningApplication.ApplicationId != Channel.DEFAULT_APP_ID)
            {
                LaunchApp(Channel.DEFAULT_APP_ID);
                runningApplication = EnsureApplicationIsRunning();
            }

            StartSession(runningApplication.TransportId);

            Response response = _channel.SendRequest(Channel.NS_CAST_MEDIA, new LoadRequest(runningApplication.SessionId, new Media {
                ContentId   = contentUri.ToString(),
                ContentType = contentType,
                Metadata    = metadata,
                StreamType  = streamType
            }, autoPlay), runningApplication.TransportId);

            HandleResponse(response);
        }