コード例 #1
0
        internal BindablePlayItem CreateBindablePlayItem(IPlayItem playItem)
        {
            string filePath = null;

            if (playItem.MediaSource.Category == MediaSourceCategory.File)
            {
                filePath = _filePathResolver.Resolve(((AppInfrastructure.FileMediaSource)playItem.MediaSource).FileName);
            }
            return(new BindablePlayItem(playItem, filePath, _itemEditFactory));
        }
コード例 #2
0
        private void M_Load(PlayerToken playToken)
        {
            Debug.Assert(_mplaylist != null);

            IFileMediaSource fileSource = (IFileMediaSource)playToken.MediaSource; // as IFileMediaSource;

            int index;

            MItem mitem = null;

            index = -1;
            _mplaylist.PlaylistAdd(null, _filePathResolver.Resolve(fileSource.FileName), string.Empty, ref index, out mitem);

            var adjustedRange = fileSource.Adjust(playToken.PlayRange);

            var loadRange = GetInOut(mitem);

            if (adjustedRange != null)
            {
                if (adjustedRange.Value.StartPosition != loadRange.StartPosition || adjustedRange.Value.StopPosition != loadRange.StopPosition)
                {
                    loadRange = SetInOut(mitem, adjustedRange.Value);
                }
            }


            playToken.LoadRange = loadRange;

            int audioTracks = -1;

            ((MItemClass)mitem).AudioTracksGetCount(out audioTracks);
            playToken.HasAudio = (audioTracks > 0);
            playToken.MItem    = mitem;

            ApplyParameters(playToken);
        }
コード例 #3
0
 private string ResolvePath(string destFileName, MediaFileStorage fileStorage)
 {
     return(_mediaFilePathResolver.Resolve(destFileName, fileStorage));
 }