/// <summary> /// Creates a bunch of content/media items return relation objects for them (unsaved) /// </summary> /// <param name="count"></param> /// <returns></returns> private IEnumerable <IRelation> CreateRelations(int count) { var rs = RelationService; var rtName = Guid.NewGuid().ToString(); var rt = new RelationType(rtName, rtName, false, null, null); rs.Save(rt); var ct = ContentTypeBuilder.CreateBasicContentType(); ContentTypeService.Save(ct); var mt = MediaTypeBuilder.CreateImageMediaType("img"); MediaTypeService.Save(mt); return(Enumerable.Range(1, count).Select(index => { var c1 = ContentBuilder.CreateBasicContent(ct); var c2 = MediaBuilder.CreateMediaImage(mt, -1); ContentService.Save(c1); MediaService.Save(c2); return new Relation(c1.Id, c2.Id, rt); }).ToList()); }
public void Render() { var media = new MediaBuilder(this.Session).WithInData(this.GetResourceBytes("Domain.Tests.Resources.EmbeddedTemplate.odt")).Build(); var templateType = new TemplateTypes(this.Session).OpenDocumentType; var template = new TemplateBuilder(this.Session).WithMedia(media).WithTemplateType(templateType).WithArguments("logo, people").Build(); this.Session.Derive(); var people = new People(this.Session).Extent(); var logo = this.GetResourceBytes("Domain.Tests.Resources.logo.png"); var data = new Dictionary <string, object>() { { "people", people }, }; var images = new Dictionary <string, byte[]>() { { "logo", logo }, }; var result = template.Render(data, images); File.WriteAllBytes("Embedded.odt", result); Assert.NotNull(result); Assert.NotEmpty(result); result = template.Render(data, images); Assert.NotNull(result); Assert.NotEmpty(result); }
private Tuple <IMedia, IMedia, IMedia, IMedia, IMedia> CreateTrashedTestMedia() { // Create and Save folder-Media -> 1050 IMediaType folderMediaType = MediaTypeService.Get(1031); Media folder = MediaBuilder.CreateMediaFolder(folderMediaType, -1); MediaService.Save(folder); // Create and Save folder-Media -> 1051 Media folder2 = MediaBuilder.CreateMediaFolder(folderMediaType, -1); MediaService.Save(folder2); // Create and Save image-Media -> 1052 IMediaType imageMediaType = MediaTypeService.Get(1032); Media image = MediaBuilder.CreateMediaImage(imageMediaType, 1050); MediaService.Save(image); // Create and Save folder-Media that is trashed -> 1053 Media folderTrashed = MediaBuilder.CreateMediaFolder(folderMediaType, -21); folderTrashed.Trashed = true; MediaService.Save(folderTrashed); // Create and Save image-Media child of folderTrashed -> 1054 Media imageTrashed = MediaBuilder.CreateMediaImage(imageMediaType, folderTrashed.Id); imageTrashed.Trashed = true; MediaService.Save(imageTrashed); return(new Tuple <IMedia, IMedia, IMedia, IMedia, IMedia>(folder, folder2, image, folderTrashed, imageTrashed)); }
private IRelation CreateAndSaveRelation(string name, string alias) { var rs = RelationService; var rt = new RelationType(name, alias, false, null, null); rs.Save(rt); var ct = ContentTypeBuilder.CreateBasicContentType(); ContentTypeService.Save(ct); var mt = MediaTypeBuilder.CreateImageMediaType("img"); MediaTypeService.Save(mt); var c1 = ContentBuilder.CreateBasicContent(ct); var c2 = MediaBuilder.CreateMediaImage(mt, -1); ContentService.Save(c1); MediaService.Save(c2); var r = new Relation(c1.Id, c2.Id, rt); RelationService.Save(r); return(r); }
/// <summary> /// Creates a /// <see cref="CpMediaContainer"/> /// object, given a metadata instantiation /// block. /// </summary> /// <param name="info"> /// The metadata to use when instantiating the media. /// </param> /// <returns>a new media container</returns> public static CpMediaContainer CreateContainer(MediaBuilder.container info) { CpMediaContainer newObj = new CpMediaContainer(); MediaBuilder.SetObjectProperties(newObj, info); return(newObj); }
public void SaveMediaMultiple() { // Arrange IScopeProvider provider = ScopeProvider; using (IScope scope = provider.CreateScope()) { MediaRepository repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository); IMediaType mediaType = mediaTypeRepository.Get(1032); Media file = MediaBuilder.CreateMediaFile(mediaType, -1); // Act repository.Save(file); Media image = MediaBuilder.CreateMediaImage(mediaType, -1); repository.Save(image); // Assert Assert.That(file.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); Assert.That(file.Name, Is.EqualTo("Test File")); Assert.That(image.Name, Is.EqualTo("Test Image")); Assert.That(file.ContentTypeId, Is.EqualTo(mediaType.Id)); Assert.That(image.ContentTypeId, Is.EqualTo(mediaType.Id)); } }
public void QueryMedia_ContentTypeIdFilter() { // Arrange IMediaType folderMediaType = MediaTypeService.Get(1031); IScopeProvider provider = ScopeProvider; using (IScope scope = provider.CreateScope()) { MediaRepository repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository); // Act for (int i = 0; i < 10; i++) { Media folder = MediaBuilder.CreateMediaFolder(folderMediaType, -1); repository.Save(folder); } int[] types = new[] { 1031 }; IQuery <IMedia> query = provider.CreateQuery <IMedia>().Where(x => types.Contains(x.ContentTypeId)); IEnumerable <IMedia> result = repository.Get(query); // Assert Assert.That(result.Count(), Is.GreaterThanOrEqualTo(11)); } }
/// <summary> /// Creates a /// <see cref="CpMediaItem"/> /// object, given a metadata instantiation /// block. /// </summary> /// <param name="info"> /// The metadata to use when instantiating the media. /// </param> /// <returns>a new media item</returns> public static CpMediaItem CreateItem(MediaBuilder.item info) { CpMediaItem newObj = new CpMediaItem(); MediaBuilder.SetObjectProperties(newObj, info); return(newObj); }
public void Get_Paged_Parent_Child_Entities_With_Same_Entity_Relation() { // Create a media item and create a relationship between itself (parent -> child) MediaType imageType = MediaTypeBuilder.CreateImageMediaType("myImage"); MediaTypeService.Save(imageType); Media media = MediaBuilder.CreateMediaImage(imageType, -1); MediaService.Save(media); IRelationType relType = RelationService.GetRelationTypeByAlias(Constants.Conventions.RelationTypes.RelatedMediaAlias); RelationService.Relate(media.Id, media.Id, relType); using (IScope scope = ScopeProvider.CreateScope()) { RelationRepository repository = CreateRepository(ScopeProvider, out RelationTypeRepository relationTypeRepository); // Get parent entities for child id var parents = repository.GetPagedParentEntitiesByChildId(media.Id, 0, 10, out long totalRecords).ToList(); Assert.AreEqual(1, totalRecords); Assert.AreEqual(1, parents.Count); // Get child entities for parent id var children = repository.GetPagedChildEntitiesByParentId(media.Id, 0, 10, out totalRecords).ToList(); Assert.AreEqual(1, totalRecords); Assert.AreEqual(1, children.Count); } }
public void QueryMedia_ContentTypeIdFilter() { // Arrange var folderMediaType = MediaTypeService.Get(1031); var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider, out var mediaTypeRepository); // Act for (var i = 0; i < 10; i++) { var folder = MediaBuilder.CreateMediaFolder(folderMediaType, -1); repository.Save(folder); } int[] types = { 1031 }; var query = provider.CreateQuery <IMedia>().Where(x => types.Contains(x.ContentTypeId)); var result = repository.Get(query); // Assert Assert.That(result.Count(), Is.GreaterThanOrEqualTo(11)); } }
private async void Play_Playlist_Click(object sender, RoutedEventArgs e) { MediaPlayer.getInstance().stop(); playlistBtn.IsEnabled = false; urlBox.IsEnabled = false; urlLoading.IsActive = true; try { // configure builder from json url MediaBuilder builder = new MediaBuilder(); await builder.configureFromURLAsync(urlBox.Text); // play media units MediaPlayer.getInstance().playMediaUnits(await builder.mediaUnitsAsync()); } catch { var dialog = new MessageDialog("Invalid url"); var task = dialog.ShowAsync(); } urlLoading.IsActive = false; urlBox.IsEnabled = true; if (!urlBox.Text.Equals("")) { playlistBtn.IsEnabled = true; } }
/// <summary> /// Record a video for 5 seconds and store it as c:\temp\example.mp4 /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Install-Package Emgu.CV // Install-Package Emgu.CV.runtime.windows // Install-Package FFMediaToolkit // Install-Package DirectShowLib var camIndex = SelectCameraIndex(); _captureDevice = new VideoCapture(camIndex, VideoCapture.API.DShow) { FlipVertical = true }; _captureDevice.ImageGrabbed += CaptureDeviceImageGrabbed; var settings = new VideoEncoderSettings(width: _captureDevice.Width , height: _captureDevice.Height , framerate: 15 , codec: VideoCodec.H264) { EncoderPreset = EncoderPreset.Fast, CRF = 17 // Constant Rate Factor }; // Download from https://github.com/BtbN/FFmpeg-Builds/releases FFmpegLoader.FFmpegPath = @"C:\Users\fiach\source\repos\Webcam\FFmpeg\"; _videoOutput = MediaBuilder.CreateContainer(@"c:\temp\example.mp4").WithVideo(settings).Create(); _captureDevice.Start(); Thread.Sleep(TimeSpan.FromSeconds(5)); _captureDevice.Stop(); _captureDevice.Dispose(); _videoOutput.Dispose(); }
public void QueryMedia_ContentTypeAliasFilter() { // we could support this, but it would require an extra join on the query, // and we don't absolutely need it now, so leaving it out for now // Arrange IMediaType folderMediaType = MediaTypeService.Get(1031); IScopeProvider provider = ScopeProvider; using (IScope scope = provider.CreateScope()) { MediaRepository repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository); // Act for (int i = 0; i < 10; i++) { Media folder = MediaBuilder.CreateMediaFolder(folderMediaType, -1); repository.Save(folder); } string[] types = new[] { "Folder" }; IQuery <IMedia> query = provider.CreateQuery <IMedia>().Where(x => types.Contains(x.ContentType.Alias)); IEnumerable <IMedia> result = repository.Get(query); // Assert Assert.That(result.Count(), Is.GreaterThanOrEqualTo(11)); } }
public void SaveMedia() { // Arrange IScopeProvider provider = ScopeProvider; using (IScope scope = provider.CreateScope()) { MediaRepository repository = CreateRepository(provider, out MediaTypeRepository mediaTypeRepository); IMediaType mediaType = mediaTypeRepository.Get(1032); Media image = MediaBuilder.CreateMediaImage(mediaType, -1); // Act mediaTypeRepository.Save(mediaType); repository.Save(image); IMedia fetched = repository.Get(image.Id); // Assert Assert.That(mediaType.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); TestHelper.AssertPropertyValuesAreEqual(image, fetched); } }
public static NonUnifiedGoodBuilder WithSerialisedDefaults(this NonUnifiedGoodBuilder @this, Organisation internalOrganisation) { var faker = @this.Session.Faker(); var dutchLocale = new Locales(@this.Session).DutchNetherlands; var nonSerialisedProductType = new ProductTypes(@this.Session).FindBy(M.ProductType.Name, "nonSerialisedProductType"); if (nonSerialisedProductType == null) { var size = new SerialisedItemCharacteristicTypeBuilder(@this.Session) .WithName("Size") .WithLocalisedName(new LocalisedTextBuilder(@this.Session).WithText("Afmeting").WithLocale(dutchLocale).Build()) .Build(); var weight = new SerialisedItemCharacteristicTypeBuilder(@this.Session) .WithName("Weight") .WithLocalisedName(new LocalisedTextBuilder(@this.Session).WithText("Gewicht").WithLocale(dutchLocale).Build()) .WithUnitOfMeasure(new UnitsOfMeasure(@this.Session).Kilogram) .Build(); nonSerialisedProductType = new ProductTypeBuilder(@this.Session) .WithName("serialisedProductType") .WithSerialisedItemCharacteristicType(size) .WithSerialisedItemCharacteristicType(weight) .Build(); } @this.WithName(faker.Commerce.ProductName()); @this.WithPart(new NonUnifiedPartBuilder(@this.Session).WithSerialisedDefaults(internalOrganisation, faker).Build()); @this.WithDescription(faker.Lorem.Sentence()); @this.WithComment(faker.Lorem.Sentence()); @this.WithInternalComment(faker.Lorem.Sentence()); @this.WithKeywords(faker.Lorem.Sentence()); @this.WithUnitOfMeasure(new UnitsOfMeasure(@this.Session).Piece); @this.WithPrimaryPhoto(new MediaBuilder(@this.Session).WithInDataUri(faker.Image.DataUri(width: 200, height: 56)).Build()); @this.WithPhoto(new MediaBuilder(@this.Session).WithInDataUri(faker.Image.DataUri(width: 200, height: 56)).Build()); @this.WithPhoto(new MediaBuilder(@this.Session).WithInDataUri(faker.Image.DataUri(width: 200, height: 56)).Build()); @this.WithPublicElectronicDocument(new MediaBuilder(@this.Session).WithInFileName("doc1.en.pdf").WithInData(faker.Random.Bytes(1000)).Build()); @this.WithPrivateElectronicDocument(new MediaBuilder(@this.Session).WithInFileName("doc2.en.pdf").WithInData(faker.Random.Bytes(1000)).Build()); @this.WithProductIdentification(new SkuIdentificationBuilder(@this.Session).WithDefaults().Build()); @this.WithProductIdentification(new EanIdentificationBuilder(@this.Session).WithDefaults().Build()); @this.WithProductIdentification(new ManufacturerIdentificationBuilder(@this.Session).WithDefaults().Build()); @this.WithVatRegime(faker.Random.ListItem(@this.Session.Extent <VatRegime>())); foreach (Locale additionalLocale in @this.Session.GetSingleton().AdditionalLocales) { @this.WithLocalisedName(new LocalisedTextBuilder(@this.Session).WithText(faker.Lorem.Word()).WithLocale(additionalLocale).Build()); @this.WithLocalisedDescription(new LocalisedTextBuilder(@this.Session).WithText(faker.Lorem.Sentence()).WithLocale(additionalLocale).Build()); @this.WithLocalisedComment(new LocalisedTextBuilder(@this.Session).WithText(faker.Lorem.Sentence()).WithLocale(additionalLocale).Build()); @this.WithLocalisedKeyword(new LocalisedTextBuilder(@this.Session).WithText(faker.Lorem.Sentence()).WithLocale(additionalLocale).Build()); var localisedDocument = new MediaBuilder(@this.Session).WithInFileName($"doc1.{additionalLocale.Country.IsoCode}.pdf").WithInData(faker.Random.Bytes(1000)).Build(); @this.WithPublicLocalisedElectronicDocument(new LocalisedMediaBuilder(@this.Session).WithMedia(localisedDocument).WithLocale(additionalLocale).Build()); @this.WithPrivateLocalisedElectronicDocument(new LocalisedMediaBuilder(@this.Session).WithMedia(localisedDocument).WithLocale(additionalLocale).Build()); } return(@this); }
public void Export_Zip() { var mt = MediaTypeBuilder.CreateImageMediaType("testImage"); MediaTypeService.Save(mt); var m1 = MediaBuilder.CreateMediaFile(mt, -1); MediaService.Save(m1); //Ensure a file exist var fullPath = HostingEnvironment.MapPathWebRoot(m1.Properties[Constants.Conventions.Media.File].GetValue().ToString()); using (StreamWriter file1 = File.CreateText(fullPath)) { file1.WriteLine("hello"); } var def = new PackageDefinition { Name = "test", MediaUdis = new List <GuidUdi>() { m1.GetUdi() } }; bool result = PackageBuilder.SavePackage(def); Assert.IsTrue(result); Assert.IsTrue(def.PackagePath.IsNullOrWhiteSpace()); string packageXmlPath = PackageBuilder.ExportPackage(def); def = PackageBuilder.GetById(def.Id); // re-get Assert.IsNotNull(def.PackagePath); using (FileStream packageZipStream = File.OpenRead(packageXmlPath)) using (ZipArchive zipArchive = PackageMigrationResource.GetPackageDataManifest(packageZipStream, out XDocument packageXml)) { string test = "test-file.txt"; Assert.Multiple(() => { var mediaEntry = zipArchive.GetEntry("media/media/test-file.txt"); Assert.AreEqual("umbPackage", packageXml.Root.Name.ToString()); Assert.IsNotNull(mediaEntry); Assert.AreEqual(test, mediaEntry.Name); Assert.IsNotNull(zipArchive.GetEntry("package.xml")); Assert.AreEqual( $"<MediaItems><MediaSet><testImage id=\"{m1.Id}\" key=\"{m1.Key}\" parentID=\"-1\" level=\"1\" creatorID=\"-1\" sortOrder=\"0\" createDate=\"{m1.CreateDate.ToString("s")}\" updateDate=\"{m1.UpdateDate.ToString("s")}\" nodeName=\"Test File\" urlName=\"test-file\" path=\"{m1.Path}\" isDoc=\"\" nodeType=\"{mt.Id}\" nodeTypeAlias=\"testImage\" writerName=\"\" writerID=\"0\" udi=\"{m1.GetUdi()}\" mediaFilePath=\"/media/test-file.txt\"><umbracoFile><![CDATA[/media/test-file.txt]]></umbracoFile><umbracoBytes><![CDATA[100]]></umbracoBytes><umbracoExtension><![CDATA[png]]></umbracoExtension></testImage></MediaSet></MediaItems>", packageXml.Element("umbPackage").Element("MediaItems").ToString(SaveOptions.DisableFormatting)); Assert.AreEqual(2, zipArchive.Entries.Count()); Assert.AreEqual(ZipArchiveMode.Read, zipArchive.Mode); Assert.IsNull(packageXml.DocumentType); Assert.IsNull(packageXml.NextNode); Assert.IsNull(packageXml.Parent); Assert.IsNull(packageXml.PreviousNode); }); } }
/// <summary> /// Creates a /// <see cref="DvMediaItem"/> /// object, given a metadata instantiation /// block. /// </summary> /// <param name="info"> /// The metadata to use when instantiating the media. /// </param> /// <returns>a new media item</returns> public static DvMediaItem CreateItem(MediaBuilder.item info) { DvMediaItem newObj = new DvMediaItem(); MediaBuilder.SetObjectProperties(newObj, info); newObj.TrackMetadataChanges = true; return(newObj); }
/// <summary> /// Optimized version of for adding multiple /// child items and containers at once. /// <para> /// This method is somewhat different than <see cref="DvMediaContainer.AddObjects"/>() /// in that the added branches are assigned a new unique ids from /// <see cref="MediaBuilder.GetUniqueId"/>(). Such a methodology absolves the /// application-logic from requiring <see cref="MediaBuilder.PrimeNextId"/>() /// to prevent object ID collisions. Programmers should be careful when mixing /// use of <see cref="DvMediaContainer.AddObjects"/>() and /// AddBranches(), as improper use can still cause ID collisions. As a general rule, /// application logic that uses <see cref="DvMediaContainer.AddObjects"/>() /// should always use <see cref="MediaBuilder.PrimeNextId"/>() to prime the /// media object counter and application logic that always uses AddBranches() /// need not do this. /// </para> /// </summary> /// <param name="branches">ICollection of items that implement /// <see cref="IDvMedia"/> /// </param> /// <exception cref="Error_PendingDeleteException"> /// Thrown if the item being added is a reference /// to another item that has been marked for removal. /// </exception> /// <exception cref="Error_ObjectIsContainerAndItem"> /// Thrown if an IDvMedia object indicates it is an item /// as well as a container. /// </exception> /// <exception cref="InvalidCastException"> /// Thrown if the branch is not a <see cref="IDvContainer"/> or a <see cref="IDvItem"/>. /// </exception> public virtual void AddBranches(ICollection branches) { foreach (IUPnPMedia branch in branches) { branch.ID = MediaBuilder.GetUniqueId(); } this.AddObjects(branches, false); }
/// <summary> /// Creates a /// <see cref="DvMediaContainer"/> /// object, given a metadata instantiation /// block. /// </summary> /// <param name="info"> /// The metadata to use when instantiating the media. /// </param> /// <returns>a new media container</returns> public static DvMediaContainer CreateContainer(MediaBuilder.container info) { DvMediaContainer newObj = new DvMediaContainer(); MediaBuilder.SetObjectProperties(newObj, info); newObj.TrackMetadataChanges = true; return(newObj); }
private Template CreateOpenDocumentTemplate(byte[] content) { var media = new MediaBuilder(this.Session).WithInData(content).Build(); var templateType = new TemplateTypes(this.Session).OpenDocumentType; var template = new TemplateBuilder(this.Session).WithMedia(media).WithTemplateType(templateType).Build(); return(template); }
private static Template CreateOpenDocumentTemplate <T>(this InternalOrganisation @this, byte[] content) { var media = new MediaBuilder(@this.Strategy.Session).WithInData(content).Build(); var templateType = new TemplateTypes(@this.Strategy.Session).OpenDocumentType; var template = new TemplateBuilder(@this.Strategy.Session).WithMedia(media).WithTemplateType(templateType).WithArguments <T>().Build(); return(template); }
public static Template CreateOpenDocumentTemplate <T>(this Singleton @this, string fileName, byte[] content) { var media = new MediaBuilder(@this.Strategy.Session).WithInFileName(fileName).WithInData(content).Build(); var templateType = new TemplateTypes(@this.Strategy.Session).OpenDocumentType; var template = new TemplateBuilder(@this.Strategy.Session).WithMedia(media).WithTemplateType(templateType).WithArguments <T>().Build(); return(template); }
public void BuilderWithEmptyData() { var binary = new byte[0]; var media = new MediaBuilder(this.Session).WithInData(binary).Build(); var derivationLog = this.Session.Derive(false); Assert.True(derivationLog.HasErrors); }
/// <summary> /// Used by /// <see cref="CpMediaBuilder"/> /// to instantiate a root container. /// </summary> /// <param name="info">metadata information for the container</param> /// <returns>the new root container</returns> internal static CpRootContainer CreateRoot(MediaBuilder.container info) { info.ID = "0"; info.IdIsValid = true; CpRootContainer root = new CpRootContainer(); MediaBuilder.SetObjectProperties(root, info); return(root); }
private void pictureBox6_Click(object sender, EventArgs e) { //Media MediaBuilder doble = new MediaBuilder(); compras.Add(doble.cocinar()); PrecioFinal += doble.cocinar().costo; UpdateGrid(); }
public static void Convert(GrabbedMedia videoStream, GrabbedMedia audioStream, string videoPath, string audioPath, string outputPath) { var builder = new MediaBuilder(outputPath); builder.AddStreamSource(videoPath, MediaStreamType.Video); builder.AddStreamSource(audioPath, MediaStreamType.Audio); builder.OutputMimeType = videoStream.Format.Mime; builder.OutputShortName = videoStream.Format.Extension; builder.Build(); }
public void BuilderWithDataUrl() { const string DataUri = @"data:image/jpeg;base64,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"; var photo = new MediaBuilder(this.Session).WithInDataUri(DataUri).Build(); this.Session.Derive(true); photo.MediaContent.Type.ShouldEqual("image/jpeg"); photo.MediaContent.Data.Length.ShouldBeGreaterThan(0); }
/// <summary> /// Makes it so that a DvMediaItem instantiated from an XmlElement /// instantiates its child resources as <see cref="DvMediaResource"/> objects. /// /// <para> /// Derived classes that expect different types for their resources and child /// media objects need to override this method. /// </para> /// </summary> /// <param name="xmlElement"></param> protected override void FinishInitFromXml(XmlElement xmlElement) { ArrayList children; base.UpdateEverything(true, true, typeof(DvMediaResource), typeof(DvMediaItem), typeof(DvMediaContainer), xmlElement, out children); if (this.m_ID.StartsWith(MediaBuilder.Seed) == false) { this.m_ID = MediaBuilder.GetUniqueId(); } }
/// <summary> /// Used by /// <see cref="MediaServerDevice"/> /// to instantiate a root container. /// </summary> /// <param name="info">metadata information for the container</param> /// <returns>the new root container</returns> internal static DvRootContainer CreateRoot(MediaBuilder.container info) { info.ID = "0"; info.IdIsValid = true; DvRootContainer root = new DvRootContainer(); MediaBuilder.SetObjectProperties(root, info); root.TrackMetadataChanges = true; return(root); }
public void BuilderWithData() { var binary = new byte[] { 0, 1, 2, 3 }; var media = new MediaBuilder(this.Session).WithInData(binary).Build(); this.Session.Derive(); Assert.True(media.ExistMediaContent); Assert.Equal(media.MediaContent.Type, "application/octet-stream"); }
private async void Play_Playlist_Click(object sender, RoutedEventArgs e) { MediaPlayer.getInstance().stop(); playlistBtn.IsEnabled = false; urlBox.IsEnabled = false; urlLoading.IsActive = true; try { // configure builder from json url MediaBuilder builder = new MediaBuilder(); await builder.configureFromURLAsync(urlBox.Text); // play media units MediaPlayer.getInstance().playMediaUnits(await builder.mediaUnitsAsync()); } catch { var dialog = new MessageDialog("Invalid url"); var task = dialog.ShowAsync(); } urlLoading.IsActive = false; urlBox.IsEnabled = true; if (!urlBox.Text.Equals("")) playlistBtn.IsEnabled = true; }