Пример #1
0
        public static IMediaSource ToMediaSource(this MediaSourceEntity entity, PlaybillItemEntity billItemEntity)
        {
            IMediaSource    result     = null;
            MediaFileEntity fileEntity = entity as MediaFileEntity;

            if (fileEntity != null)
            {
                var fileSource = new FileMediaSource(fileEntity);
                fileSource.AudioGain = billItemEntity.AudioGain;
                result = fileSource;
            }
            else
            {
                ChannelInfo ci = entity as ChannelInfo;
                if (ci != null)
                {
                    var channelSource = new ChannelMediaSource(ci);
                    result = channelSource;
                }
                else
                {
                    throw new ArgumentException();
                }
            }
            return(result);
        }
Пример #2
0
        public T FromEntity <T>(IMediaSourceEntity entity) where T : IMediaSource
        {
            IMediaSource    result     = null;
            MediaFileEntity fileEntity = entity as MediaFileEntity;

            if (fileEntity != null)
            {
                var fileSource = new FileMediaSource(fileEntity);
                result = fileSource;
            }
            else
            {
                ChannelInfo ci = entity as ChannelInfo;
                if (ci != null)
                {
                    var channelSource = new ChannelMediaSource(ci);
                    result = channelSource;
                }
                else
                {
                    throw new ArgumentException();
                }
            }
            return((T)result);
        }
Пример #3
0
        public static MediaItem FromEntity(MediaFileEntity entity)
        {
            MediaSourceBase source    = new FileMediaSource(entity);
            PlayRange       playRange = new PlayRange(TimeSpan.FromSeconds(entity.MarkerIn), TimeSpan.FromSeconds(entity.MarkerDuration));

            return(new MediaItem(source, playRange));
        }
Пример #4
0
        //public override IMediaSource Clone()
        //{
        //    var result = new FileMediaSource(this.FileEntity);
        //    result.AudioGain = this.AudioGain;
        //    return result;
        //}

        public override bool Equals(IMediaSource other)
        {
            FileMediaSource temp = other as FileMediaSource;

            return(temp != null && temp.Id == this.Id);
        }