// For files with filenames that have the format: "creator - title"
        private DvMediaItem CreateItemFromFormatedNameFile(FileInfo file)
        {
            string mime, mediaClass;
            MimeTypes.ExtensionToMimeType(file.Extension, out mime, out mediaClass);

            string protInfo = new System.Text.StringBuilder().AppendFormat("http-get:*:{0}:*", mime).ToString();
            string ct = Path.GetFileNameWithoutExtension(file.Name);

            DText DT = new DText();
            DT.ATTRMARK = "-";
            string title;
            string creator;

            DT[0] = ct;
            if (DT.DCOUNT() == 1)
            {
                creator = "";
                title = DT[1].Trim();
            }
            else
            {
                creator = DT[1].Trim();
                title = DT[2].Trim();
            }

            MediaBuilder.item info = new MediaBuilder.item(title);
            info.creator = creator;
            DvMediaItem newMedia = DvMediaBuilder.CreateItem(info);

            //DvMediaResource res = DvResourceBuilder.CreateResource_HttpGet(file,false);
            ResourceBuilder.VideoItem resInfo = new ResourceBuilder.VideoItem();
            resInfo.contentUri = DvMediaResource.AUTOMAPFILE + file.FullName;
            resInfo.protocolInfo = new ProtocolInfoString(protInfo);
            resInfo.size = new _ULong((ulong)file.Length);
            DvMediaResource res = DvResourceBuilder.CreateResource(resInfo, true);
            res.Tag = file;
            newMedia.AddResource(res);

            return newMedia;
        }
        private DvMediaItem CreateItemFromGenericFile(FileInfo file)
        {
            string mime, mediaClass;
            MimeTypes.ExtensionToMimeType(file.Extension, out mime, out mediaClass);

            string protInfo = new System.Text.StringBuilder().AppendFormat("http-get:*:{0}:*", mime).ToString();
            string title = Path.GetFileNameWithoutExtension(file.Name);
            string creator = file.Directory.Name;

            MediaBuilder.item info = new MediaBuilder.item(title);
            info.creator = creator;
            DvMediaItem newMedia = DvMediaBuilder.CreateItem(info);

            ResourceBuilder.VideoItem resInfo = new ResourceBuilder.VideoItem();
            resInfo.contentUri = DvMediaResource.AUTOMAPFILE + file.FullName;
            resInfo.protocolInfo = new ProtocolInfoString(protInfo);
            resInfo.size = new _ULong((ulong)file.Length);
            DvMediaResource res = DvResourceBuilder.CreateResource(resInfo, true);
            res.Tag = file;
            newMedia.AddResource(res);

            return newMedia;
        }
Пример #3
0
        /// <summary>
        /// Creates a media object.
        /// </summary>
        /// <param name="title">The title of the object.</param>
        /// <param name="file">The full path to the file.</param>
        /// <returns>Media object.</returns>
        private static IDvMedia CreateObject(string title, string file)
        {
            var fi = new FileInfo(file);
            var media = DvMediaBuilder.CreateItem(new MediaBuilder.item(title));

            string mime, mediaClass;
            MimeTypes.ExtensionToMimeType(fi.Extension, out mime, out mediaClass);

            var resInfo = new ResourceBuilder.VideoItem
                {
                    contentUri   = MediaResource.AUTOMAPFILE + fi.FullName,
                    protocolInfo = new ProtocolInfoString("http-get:*:" + mime + ":*"),
                    size         = new _ULong((ulong)fi.Length)
                };

            var res = DvResourceBuilder.CreateResource(resInfo, true);
            res.Tag = fi;

            media.AddResource(res);

            if (_mimes.Contains(mime) == false)
            {
                _mimes.Add(mime);
                var ps = new ProtocolInfoString[_mimes.Count];
                var i = 0;
                foreach (var mime2 in _mimes)
                {
                    ps[i++] = new ProtocolInfoString("http-get:*:" + mime2 + ":*");
                }
                _ms.SourceProtocolInfoSet = ps;
            }

            return media;
        }