Example #1
0
        /// <summary>
        ///     Add an option to a media via a configurable flag that will determine how the media player will read the media.
        /// </summary>
        /// <param name="options"></param>
        /// <param name="flag"></param>
        public void AddOptionFlag(String options, MediaOption flag)
        {
            GCHandle handle = GCHandle.Alloc(Encoding.UTF8.GetBytes(options), GCHandleType.Pinned);

            _addOptionFlagFunction.Delegate(InstancePointer, handle.AddrOfPinnedObject(), flag);
            handle.Free();
        }
Example #2
0
        public static MediaOption CreateMediaOption(
            double scale    = 1.0,            // スケール
            double offsetX  = 0,              // 表示開始X位置
            double offsetY  = 0,              // 表示開始Y位置
            double width    = 640,            // 表示横幅
            double height   = 320,            // 表示縦幅
            double posX     = 0,              // ウインドウX位置
            double posY     = 0,              // ウインドウY位置
            bool repeat     = false,          // リピート再生
            Display display = Display.Primary // ディスプレイ
            )
        {
            var obj = new MediaOption();

            obj.scale   = scale;
            obj.offsetX = offsetX;
            obj.offsetY = offsetY;
            obj.width   = width;
            obj.height  = height;
            obj.posX    = posX;
            obj.posY    = posY;
            obj.display = display;
            obj.repeat  = repeat;
            return(obj);
        }
Example #3
0
 public PeerChannel(RTCConfiguration rtcConf,
                    MediaOption mediaOption, CoreDispatcher dispatcher)
 {
     this.rtcConf     = rtcConf;
     this.mediaOption = mediaOption;
     this.dispatcher  = dispatcher;
 }
Example #4
0
        public static RTCConfiguration Create(Signaling.OfferConfig serverConfig,
                                              MediaOption mediaOption)
        {
            var iceServers =
                serverConfig.IceServers.Select(iceServer => new RTCIceServer()
            {
                Urls       = iceServer.Urls,
                Username   = iceServer.Username,
                Credential = iceServer.Credential,
            }).ToList();

            var conf = new RTCConfiguration()
            {
                BundlePolicy             = RTCBundlePolicy.MaxBundle,
                IceTransportPolicy       = RTCIceTransportPolicy.All,
                IceServers               = iceServers,
                RtcpMuxPolicy            = RTCRtcpMuxPolicy.Require,
                ContinualGatheringPolicy = RTCContinualGatheringPolicy.Continually,
                EnableDtlsSrtp           = true,
                SdpSemantics             = RTCSdpSemantics.UnifiedPlan,
                TcpCandidatePolicy       = mediaOption.TcpCandidatePolicy,
                EnableIceRenomination    = true,
            };

            if (serverConfig.IceTransportPolicy == "relay")
            {
                conf.IceTransportPolicy = RTCIceTransportPolicy.Relay;
            }

            return(conf);
        }
Example #5
0
 public AudioControl(MediaOption item, MediaFinish _MediaFinish)
 {
     InitializeComponent();
     this.obj          = item;
     this._MediaFinish = _MediaFinish;
     Loaded           += AudioControl_Loaded;
     Unloaded         += AudioControl_Unloaded;
 }
Example #6
0
 private static AudioSetting BuildAudioSetting(MediaOption mediaOption)
 {
     /// TODO: Opusのセッティング
     return(new AudioSetting
     {
         CodecType = mediaOption.AudioCodec.ToString(),
     });
 }
Example #7
0
        public int[] AddMedia([FromBody] MediaOption mediaOption)
        {
            Media media  = mediaMngr.CreateMedia(mediaOption);
            int   userId = projectMngr.FindProjectCreatorByProjectId(media.Project.Id);

            int[] redirect = { media.Project.Id, userId };
            return(redirect);
        }
 public VideoControl(MediaOption item, MediaFinish _MediaFinish)
 {
     //videoPanel
     InitializeComponent();
     this.obj          = item;
     this._MediaFinish = _MediaFinish;
     Loaded           += VideoControl_Loaded;
     Unloaded         += VideoControl_Unloaded;
 }
Example #9
0
        public MediaOption UpdateMedia(int id, MediaOption mediaOption)
        {
            Media media = db.Set <Media>().Find(id);

            media.Payload = mediaOption.Payload;
            media.Type    = mediaOption.Type;
            db.SaveChanges();
            return(mediaOption);
        }
Example #10
0
 public static void MediaList(XmlNodeList listMedia, MediaOption _options, LayoutOption _layoutOption)
 {
     //Read Media list one by one
     foreach (XmlNode mediaNode in listMedia)
     {
         XmlAttributeCollection nodeAttributes = mediaNode.Attributes;
         ParseOptionsForMediaNode(mediaNode, nodeAttributes, _options, _layoutOption);
     }
 }
        public WebControl(MediaOption item, MediaFinish _MediaFinish)
        {
            InitializeComponent();

            //set media option
            this.obj = item;
            //call back methos set
            this._MediaFinish = _MediaFinish;

            Loaded   += WebControl_Loaded;
            Unloaded += WebControl_Unloaded;
        }
Example #12
0
 public static string BuildConnectMessage(Role role, string channelId,
                                          MediaOption mediaOption, Metadata metadata, string sdp)
 {
     // ConnectメッセージのVideoとAudioは、booleanとObjectのvariantになってしまっているため
     // 多少冗長だが、条件を細かくチェックして型を分ける
     if (mediaOption.UpstreamIsRequired())
     {
         if (mediaOption.AudioUpstreamEnabled && mediaOption.VideoUpstreamEnabled)
         {
             return(BuildConnectWithAudioVideoMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
         else if (mediaOption.AudioUpstreamEnabled)
         {
             return(BuildConnectWithAudioMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
         else if (mediaOption.VideoUpstreamEnabled)
         {
             return(BuildConnectWithVideoMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
         else
         {
             return(BuildConnectWithoutAudioVideoMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
     }
     else
     {
         if (mediaOption.AudioDownstreamEnabled && mediaOption.VideoDownstreamEnabled)
         {
             return(BuildConnectWithAudioVideoMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
         else if (mediaOption.AudioDownstreamEnabled)
         {
             return(BuildConnectWithAudioMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
         else if (mediaOption.VideoDownstreamEnabled)
         {
             return(BuildConnectWithVideoMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
         else
         {
             return(BuildConnectWithoutAudioVideoMessage(
                        role, channelId, mediaOption, metadata, sdp));
         }
     }
 }
Example #13
0
        public static void Testing()
        {
            using CFDbContext db = new CFDbContext();
            MediaManagement mediaMng = new MediaManagement(db);

            MediaOption mediaOption = new MediaOption
            {
                ProjectId = 1,
                Type      = "Photo",
                URL       = "myFace.png"
            };

            Media media = mediaMng.CreateMedia(mediaOption);
        }
Example #14
0
        public static void OutMediaWindow(string title, MediaPlayer media, MediaOption mediaOption = null)
        {
            if (media is null)
            {
                return;
            }
            var window = new MediaWindow();

            window.MediaOption = mediaOption;
            window.Owner       = CommandCanvasList.OwnerWindow;
            window.MediaSource = media;
            window.Caption     = title;
            window.Show();
        }
Example #15
0
        private static VideoSetting BuildVideoSetting(MediaOption mediaOption)
        {
            var video = new VideoSetting
            {
                CodecType = mediaOption.VideoCodec.ToString(),
                BitRate   = mediaOption.VideoBitrate,
            };

            if (mediaOption.VideoBitrate != null)
            {
                video.BitRate = mediaOption.VideoBitrate;
            }

            return(video);
        }
 public void Answer()
 {
     if (currentCall == null)
     {
         return;
     }
     RegisterCallEvent();
     currentCall.Answer(MediaOption.AudioVideoShare(curCallView.LocalViewHandle, curCallView.RemoteViewHandle, curCallView.RemoteShareViewHandle), result =>
     {
         if (!result.IsSuccess)
         {
             output($"Error: {result.Error?.ErrorCode.ToString()} {result.Error?.Reason}");
         }
     });
 }
Example #17
0
        public Media Update(MediaOption medOption, int mediaId)
        {

            Media media = db.Medias.Find(mediaId);

            if (medOption.MediaPath != null)
                media.MediaPath = medOption.MediaPath;
            if (medOption.Type != null)
                media.Type = medOption.Type;
            if (medOption.Date != new DateTime())
                media.Date = medOption.Date;

            db.SaveChanges();
            return media;
        }
Example #18
0
        public Media CreateMedia(MediaOption mediaOption)
        {
            Project project = db.Projects.Find(mediaOption.ProjectId);

            Media media = new Media
            {
                Type    = mediaOption.Type,
                URL     = mediaOption.URL,
                Project = project
            };

            db.Medias.Add(media);
            db.SaveChanges();

            return(media);
        }
Example #19
0
        //CRUD
        // create read update delete
        public Media CreateMedia(MediaOption medOption)
        {
            Media media = new Media
            {
                MediaPath = medOption.MediaPath,
                Type = medOption.Type,
                Date = medOption.Date,
                
            };


            db.Medias.Add(media);
            db.SaveChanges();

            return media;
        }
 public void Dial(string calleeAddress)
 {
     spark?.Phone.Dial(calleeAddress, MediaOption.AudioVideoShare(curCallView.LocalViewHandle, curCallView.RemoteViewHandle, curCallView.RemoteShareViewHandle), result =>
     {
         if (result.IsSuccess)
         {
             currentCall = result.Data;
             RegisterCallEvent();
             this.curCallView.RefreshViews();
         }
         else
         {
             output($"Error: {result.Error?.ErrorCode.ToString()} {result.Error?.Reason}");
         }
     });
 }
Example #21
0
        public SignalingChannel(
            string endpoint,
            Role role,
            string channelId,
            MediaOption mediaOption,
            Metadata metadata,
            string capability)
        {
            this.endpoint    = endpoint;
            this.channelId   = channelId;
            this.role        = role;
            this.mediaOption = mediaOption;
            this.metadata    = metadata;
            this.capability  = capability;

            InitializeSocket();
        }
Example #22
0
        private static string BuildConnectWithoutAudioVideoMessage(
            Role role, string channelId,
            MediaOption mediaOption, Metadata metadata, string sdp)
        {
            var msg = new ConnectMessageWithoutAudioVideo()
            {
                Role        = GetRoleString(role),
                ChannelId   = channelId,
                Multistream = mediaOption.MultistreamIsRequired(),
                Metadata    = metadata,
                Sdp         = sdp
            };

            using (var ms = new MemoryStream())
            {
                var serializer = new DataContractJsonSerializer(typeof(ConnectMessageWithoutAudioVideo));
                serializer.WriteObject(ms, msg);
                var result = Encoding.UTF8.GetString(ms.ToArray());
                return(result);
            }
        }
Example #23
0
        public List <MediaOption> FindAllMediaofProject(int projectId)
        {
            Project project = db.Set <Project>()
                              .Where(o => o.Id == projectId)
                              .Include(o => o.Medias)
                              .SingleOrDefault();
            List <MediaOption> projectMedia = new List <MediaOption>();

            foreach (Media media in project.Medias)
            {
                MediaOption mediaOption = new MediaOption()
                {
                    Id        = media.Id,
                    Payload   = media.Payload,
                    ProjectId = media.Project.Id,
                    Type      = media.Type
                };
                projectMedia.Add(mediaOption);
            }
            return(projectMedia);
        }
Example #24
0
        public MediaOption CreateMedia(MediaOption mediaOption)
        {
            Project project = db.Set <Project>().Where(o => o.Id == mediaOption.ProjectId).Include(o => o.Medias).SingleOrDefault();
            Media   media   = new Media()
            {
                Payload = mediaOption.Payload,
                Type    = mediaOption.Type,
                Project = project
            };

            var newMedia = db.Set <Media>().Add(media);

            db.SaveChanges();
            project.Medias.Add(newMedia.Entity);
            db.SaveChanges();

            return(new MediaOption()
            {
                Payload = media.Payload,
                Type = media.Type,
                ProjectId = mediaOption.ProjectId
            });
        }
Example #25
0
        private string CDMediaInfo( MediaOption Action, int Track )
        {
            ReturnCode = GetStringBuilder();

            switch(Action)
            {
                case(MediaOption.Length):
                    CommandLine = "status cd length wait";
                    break;
                case(MediaOption.Tracks):
                    CommandLine = "status cd number of tracks wait";
                    break;
                case(MediaOption.CurrentPosition):
                    CommandLine = "status cd position";
                    break;
                case(MediaOption.TrackLength):
                    CommandLine = "status cd length track " + Convert.ToString(Track);
                    break;
            }

            MciSendString( CommandLine, ReturnCode, ReturnCode.Length, new IntPtr(0) );

            return FixString(ReturnCode.ToString());
        }
Example #26
0
        /// <summary>
        /// Get Media options
        /// </summary>
        /// <param name="mediaNode"></param>
        /// <param name="nodeAttributes"></param>
        /// <param name="_options"></param>
        private static void ParseOptionsForMediaNode(XmlNode mediaNode, XmlAttributeCollection nodeAttributes, MediaOption _options, LayoutOption _layoutOption)
        {
            //Media Id
            _options.mediaId = int.Parse(nodeAttributes["id"].Value);

            // Type and Duration will always be on the media node
            _options.type = nodeAttributes["type"].Value;

            // Render as
            if (nodeAttributes["render"] != null)
            {
                _options.render = nodeAttributes["render"].Value;
            }

            //TODO: Check the type of node we have, and make sure it is supported.

            if (nodeAttributes["duration"].Value != "")
            {
                _options.duration = int.Parse(nodeAttributes["duration"].Value);
            }
            else
            {
                _options.duration = 60;
            }

            // We cannot have a 0 duration here... not sure why we would... but
            if (_options.duration == 0 && _options.type != "video" && _options.type != "localvideo")
            {
                //int emptyLayoutDuration = int.Parse(ApplicationSettings.Default.EmptyLayoutDuration.ToString());
                //_options.duration = (emptyLayoutDuration == 0) ? 10 : emptyLayoutDuration;
            }

            // There will be some stuff on option nodes
            XmlNode optionNode = mediaNode.SelectSingleNode("options");

            foreach (XmlNode option in optionNode.ChildNodes)
            {
                if (option.Name == "direction")
                {
                    _options.direction = option.InnerText;
                }
                else if (option.Name == "uri")
                {
                    _options.uri = option.InnerText;
                }
                else if (option.Name == "loop")
                {
                    _options.loop = int.Parse(option.InnerText);
                }
                else if (option.Name == "mute")
                {
                    _options.mute = int.Parse(option.InnerText);
                }
                else if (option.Name == "copyright")
                {
                    _options.copyrightNotice = option.InnerText;
                }
                else if (option.Name == "scrollSpeed")
                {
                    if (option.InnerText != null && option.InnerText != "")
                    {
                        _options.scrollSpeed = int.Parse(option.InnerText);
                    }
                    else
                    {
                        System.Diagnostics.Trace.WriteLine("Non integer scrollSpeed in XLF", "Region - SetNextMediaNode");
                    }
                }
                else if (option.Name == "updateInterval")
                {
                    //updateIntervalProvided = true;

                    if (option.InnerText != null && option.InnerText != "")
                    {
                        _options.updateInterval = int.Parse(option.InnerText);
                    }
                    else
                    {
                        // Update interval not defined, so assume a high value
                        _options.updateInterval = 3600;
                    }
                }
                else if (option.Name == "modeid")
                {
                    //updateIntervalProvided = true;

                    if (option.InnerText != null && option.InnerText != "")
                    {
                        _options.modeid = option.InnerText;
                    }
                    else
                    {
                        // Update interval not defined, so assume a high value
                        _options.modeid = "";
                    }
                }
                //Transition details
                else if (option.Name == "transIn")
                {
                    _options.transIn = option.InnerText;
                }
                else if (option.Name == "transInDirection")
                {
                    _options.transInDirection = option.InnerText;
                }
                else if (option.Name == "transInDuration")
                {
                    _options.transInDuration = double.Parse(option.InnerText);
                }
                else if (option.Name == "transOut")
                {
                    _options.transOut = option.InnerText;
                }
                else if (option.Name == "transOutDirection")
                {
                    _options.transOutDirection = option.InnerText;
                }
                else if (option.Name == "transOutDuration")
                {
                    _options.transOutDuration = double.Parse(option.InnerText);
                }
                //Shell Command Details
                else if (option.Name == "launchThroughCmd")
                {
                    _options.launchThroughCmd = option.InnerText;
                }
                else if (option.Name == "name")
                {
                    _options.scName = option.InnerText;
                }
                else if (option.Name == "terminateCommand")
                {
                    _options.terminateCommand = option.InnerText;
                }
                else if (option.Name == "useTaskkill")
                {
                    _options.useTaskkill = option.InnerText;
                }
                else if (option.Name == "windowsCommand")
                {
                    _options.windowsCommand = option.InnerText;
                }
            }

            // And some stuff on Raw nodes
            XmlNode rawNode = mediaNode.SelectSingleNode("raw");

            if (rawNode != null)
            {
                foreach (XmlNode raw in rawNode.ChildNodes)
                {
                    if (raw.Name == "text")
                    {
                        _options.text = raw.InnerText;
                    }
                    else if (raw.Name == "template")
                    {
                        _options.documentTemplate = raw.InnerText;
                    }
                    else if (raw.Name == "embedHtml")
                    {
                        _options.text = raw.InnerText;
                    }
                    else if (raw.Name == "embedScript")
                    {
                        _options.javaScript = raw.InnerText;
                    }
                }
            }

            // Audio Nodes?
            XmlNodeList audio = mediaNode.SelectNodes("audio");

            if (audio != null && audio.Count > 0)
            {
                AudioOption _audio = new AudioOption();
                foreach (XmlNode audioNode in audio)
                {
                    if (audioNode.HasChildNodes)
                    {
                        _audio.audioUrl = PlayerSettings.libraryPath + audioNode.InnerText;
                        if (audioNode.Attributes["loop"] != null)
                        {
                            _audio.loop = int.Parse(audioNode.Attributes["loop"].Value);
                        }

                        if (audioNode.Attributes["volume"] != null)
                        {
                            _audio.volume = int.Parse(audioNode.Attributes["volume"].Value);
                        }

                        _layoutOption.AudioNodeList.Add(
                            new AudioOption(
                                _options.mediaId,
                                _audio.volume,
                                _audio.loop,
                                _audio.audioUrl,
                                _options.regionId
                                )
                            );
                    }

                    _options.audio = true;
                }
            }

            CreateNextMediaNode(_options, _layoutOption);
        }
Example #27
0
        /// <summary>
        /// Add Media Details in to MedaiList
        /// </summary>
        /// <param name="options"></param>
        private static void CreateNextMediaNode(MediaOption options, LayoutOption _layoutOption)
        {
            //Check media type
            if (options.render == "html")
            {
                options.uri = PlayerSettings.libraryPath + @"\" + options.uri;
                _layoutOption.MediaNodeList.Add(
                    new MediaOption(
                        options.layoutId,
                        options.regionId,
                        options.width,
                        options.height,
                        options.top,
                        options.left,
                        options.mediaId,
                        options.render,
                        options.type,
                        options.uri,
                        options.duration,
                        options.loop,
                        options.mute,
                        options.direction,
                        options.text,
                        options.documentTemplate,
                        options.copyrightNotice,
                        options.javaScript,
                        options.updateInterval,
                        options.scrollSpeed,
                        options.modeid,
                        options.audio,
                        options.transIn,
                        options.transInDuration,
                        options.transInDirection,
                        options.transOut,
                        options.transOutDuration,
                        options.transOutDirection,
                        options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                    );
            }
            else
            {
                switch (options.type)
                {
                case "image":
                    options.uri = PlayerSettings.libraryPath + @"\" + options.uri;
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );
                    break;

                case "powerpoint":
                    options.uri = PlayerSettings.libraryPath + @"\" + options.uri;
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );
                    break;

                case "video":
                    options.uri = PlayerSettings.libraryPath + options.uri;

                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );

                    break;

                case "localvideo":
                    //options.uri = Uri.UnescapeDataString(options.uri);
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );

                    break;

                case "audio":
                    options.uri = PlayerSettings.libraryPath + options.uri;
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );
                    break;

                case "datasetview":
                case "embedded":
                case "ticker":
                case "text":
                case "webpage":
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );
                    break;

                case "flash":
                    options.uri = PlayerSettings.libraryPath + options.uri;
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );
                    break;

                case "shellcommand":
                    _layoutOption.MediaNodeList.Add(
                        new MediaOption(
                            options.layoutId,
                            options.regionId,
                            options.width,
                            options.height,
                            options.top,
                            options.left,
                            options.mediaId,
                            options.render,
                            options.type,
                            options.uri,
                            options.duration,
                            options.loop,
                            options.mute,
                            options.direction,
                            options.text,
                            options.documentTemplate,
                            options.copyrightNotice,
                            options.javaScript,
                            options.updateInterval,
                            options.scrollSpeed,
                            options.modeid,
                            options.audio,
                            options.transIn,
                            options.transInDuration,
                            options.transInDirection,
                            options.transOut,
                            options.transOutDuration,
                            options.transOutDirection,
                            options.launchThroughCmd, options.scName, options.terminateCommand, options.useTaskkill, options.windowsCommand)
                        );
                    break;

                default:
                    throw new InvalidOperationException("Not a valid media node type: " + options.type);
                }
            }
        }
Example #28
0
 public Media PutMedia(int id, [FromBody] MediaOption medOpt)
 {
     return(medMangr.Update(medOpt, id));
 }
Example #29
0
 public Media PostMedia([FromBody] MediaOption medOpt)
 {
     return(medMangr.CreateMedia(medOpt));
 }
Example #30
0
        /// <summary>
        /// Get region Details
        /// </summary>
        /// <param name="region"></param>
        public static void RenderRegionDetails(XmlNode region, LayoutOption _layoutOption)
        {
            RegionOptions regionOption = new RegionOptions();
            MediaOption   options      = new MediaOption();

            // Override the default size if necessary
            _clientSize.Height = SystemParameters.PrimaryScreenHeight;
            _clientSize.Width  = SystemParameters.PrimaryScreenWidth;

            // Set the background and size of the form
            double layoutWidth  = int.Parse(_layoutOption.layoutWidth.ToString(), CultureInfo.InvariantCulture);
            double layoutHeight = int.Parse(_layoutOption.layoutHeight.ToString(), CultureInfo.InvariantCulture);

            // Scaling factor, will be applied to all regions
            double scaleFactor = Math.Min(_clientSize.Width / layoutWidth, _clientSize.Height / layoutHeight);

            // Want to be able to center this shiv - therefore work out which one of these is going to have left overs
            int backgroundWidth  = (int)(layoutWidth * scaleFactor);
            int backgroundHeight = (int)(layoutHeight * scaleFactor);

            double leftOverX;
            double leftOverY;

            try
            {
                leftOverX = Math.Abs(_clientSize.Width - backgroundWidth);
                leftOverY = Math.Abs(_clientSize.Height - backgroundHeight);

                if (leftOverX != 0)
                {
                    leftOverX = leftOverX / 2;
                }
                if (leftOverY != 0)
                {
                    leftOverY = leftOverY / 2;
                }
            }
            catch
            {
                leftOverX = 0;
                leftOverY = 0;
            }

            //region attributes

            XmlAttributeCollection regionAttributes = region.Attributes;

            if (regionAttributes.Count > 0)
            {
                //options.scheduleId = _scheduleId;
                options.layoutId         = _layoutOption.layoutId.ToString();
                options.regionId         = regionAttributes["id"].Value.ToString();
                options.width            = (int)(Convert.ToDouble(regionAttributes["width"].Value, CultureInfo.InvariantCulture) * scaleFactor);
                options.height           = (int)(Convert.ToDouble(regionAttributes["height"].Value, CultureInfo.InvariantCulture) * scaleFactor);
                options.left             = (int)(Convert.ToDouble(regionAttributes["left"].Value, CultureInfo.InvariantCulture) * scaleFactor);
                options.top              = (int)(Convert.ToDouble(regionAttributes["top"].Value, CultureInfo.InvariantCulture) * scaleFactor);
                regionOption.scaleFactor = scaleFactor;

                if (regionAttributes["zindex"] != null)
                {
                    regionOption.zIndex = Convert.ToInt16(regionAttributes["zindex"].Value);
                }
                else
                {
                    regionOption.zIndex = 0;
                }
                // Store the original width and original height for scaling
                options.originalWidth  = (int)Convert.ToDouble(regionAttributes["width"].Value, CultureInfo.InvariantCulture);
                options.originalHeight = (int)Convert.ToDouble(regionAttributes["height"].Value, CultureInfo.InvariantCulture);

                // Set the backgrounds (used for Web content offsets)
                options.backgroundLeft = options.left * -1;
                options.backgroundTop  = options.top * -1;

                // Account for scaling
                options.left = options.left + (int)leftOverX;
                options.top  = options.top + (int)leftOverY;
            }

            XmlNode optionNode = region.SelectSingleNode("options");

            foreach (XmlNode optionN in optionNode.ChildNodes)
            {
                if (optionN.Name == "transitionType")
                {
                    regionOption.transitionType = optionN.InnerText;
                }
                else if (optionN.Name == "transitionDuration")
                {
                    regionOption.transitionDuration = double.Parse(optionN.InnerText);
                }
                else if (optionN.Name == "transitionDirection")
                {
                    regionOption.transitionDirection = optionN.InnerText;
                }
            }

            _layoutOption.RegionList.Add(
                new RegionOptions(
                    options.layoutId,
                    options.regionId,
                    options.width,
                    options.height,
                    options.top,
                    options.left,
                    regionOption.transitionType,
                    regionOption.transitionDuration,
                    regionOption.transitionDirection,
                    regionOption.zIndex
                    ));

            if (region.ChildNodes.Count != 0)
            {
                XmlNodeList listMedia = region.SelectNodes("media");
                if (listMedia.Count > 0)
                {
                    RenderMedia.MediaList(listMedia, options, _layoutOption);
                }
                else
                {
                    return;
                }
            }
        }
Example #31
0
 /// <summary>
 /// 向一个媒体通过可配置的标志添加一个选项,这个选项将会确定媒体播放器将如何读取介质,
 /// </summary>
 /// <param name="options"></param>
 /// <param name="flags"></param>
 public void AddOptionFlag(String options,MediaOption flag)
 {
     AddOptionFlagFunction.Delegate(InstancePointer, options, flag);
 }
Example #32
0
 public MediaOption UpdateMedia(int mediaId, MediaOption mediaOption)
 {
     return(mediaService.UpdateMedia(mediaId, mediaOption));
 }