Videoramar används i PowerPoint-presentationer för att demonstrera något eller för att locka publiken. Ofta används videorna för att spara tid och göra presentationerna mer effektiva. I den här artikeln kommer du att lära dig hur du arbetar med videor i presentationer programmatiskt. Speciellt kommer artikeln att täcka hur man bäddar in eller extraherar en video i en PowerPoint-presentation med C#.
- .NET API för att bädda in video i PowerPoint-presentationer
- Bädda in en video i en PowerPoint-presentation med C#
- Bädda in video från webbkälla
- Extrahera video från en PowerPoint-presentation
.NET API för att bädda in video i PowerPoint-presentationer
För att bädda in eller extrahera videor i PowerPoint-presentationer kommer vi att använda Aspose.Slides for .NET. API:et är utformat för att skapa och manipulera PowerPoint- och OpenOffice-dokument. Du kan antingen installera API:t via NuGet eller ladda ner dess DLL.
PM> Install-Package Aspose.Slides.NET
Bädda in en video i PowerPoint-presentation med C#
Följande är stegen för att bädda in en video i en PowerPoint-presentation med C#.
- Ladda först PowerPoint-filen eller skapa en ny med klassen Presentation.
- Få sedan referens till önskad bild i ett ISlide-objekt.
- Lägg till en ny video i videosamlingen för presentationen med metoden Presentation.Videos.AddVideo() och få dess referens till ett IVideo-objekt.
- Lägg till en ny videoram i bilden med metoden ISlide.Shapes.AddVideoFrame(single, single, single, single, IVideo).
- Hämta referens för videoramen till ett IVideoFrame-objekt.
- Ställ in uppspelningsläge och volym för videon.
- Slutligen, spara presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man bäddar in en video i en PowerPoint-presentation med C#.
// Instantiate Presentation-klass som representerar PPTX
using (Presentation pres = new Presentation())
{
// Få den första bilden
ISlide sld = pres.Slides[0];
// Lägg till video till presentationen
IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));
// Lägg till videoram
IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);
// Tilldela video till videoram
vf.EmbeddedVideo = vid;
// Ställ in uppspelningsläge och volym för videon
vf.PlayMode = VideoPlayModePreset.Auto;
vf.Volume = AudioVolumeMode.Loud;
// Skriv PPTX-filen till disken
pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}
Bädda in video i presentationer från en webbkälla
Du kan också bädda in en video i PowerPoint-presentationer från en webbkälla. Följande är stegen för att uppnå detta.
- Ladda först PowerPoint-filen eller skapa en ny med klassen Presentation.
- Få sedan referens till önskad bild i ett ISlide objekt.
- Lägg till en ny videoram i bilden genom att ange videons URL i metoden ISlide.Shapes.AddVideoFrame(single, single, single, single, String).
- Hämta referens för videoramen till ett IVideoFrame-objekt.
- Ställ in uppspelningsläge och volym för videon.
- Ställ in miniatyrbild av videon med en WebClient.
- Spara presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man bäddar in en video i presentationen från en webbkälla.
using (Presentation pres = new Presentation())
{
// Video-ID
string videoId = "Tj75Arhq5ho";
// Lägg till videoram
IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
videoFrame.PlayMode = VideoPlayModePreset.Auto;
// Ladda miniatyrbild
using (WebClient client = new WebClient())
{
string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg";
videoFrame.PictureFormat.Picture.Image = pres.Images.AddImage(client.DownloadData(thumbnailUri));
}
// Spara presentationen
pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}
Extrahera video från en PowerPoint-presentation i C#
Aspose.Slides för .NET låter dig också extrahera en video från en presentation. Nedan följer de enkla stegen för att uppnå detta.
- Ladda först PowerPoint-filen med klassen Presentation.
- Gå sedan igenom varje ISlide i samlingen Presentation.Slides.
- För varje ISlide-objekt går du igenom samlingen av IShape i det.
- Om IShape är en VideoFrame, extrahera och spara den inbäddade videon.
Följande kodexempel visar hur man extraherar videor från en PowerPoint-presentation med C#.
// Ladda en presentationsfil
Presentation presentation = new Presentation("Video.pptx");
// Gå igenom bilderna i presentationen
foreach (ISlide slide in presentation.Slides)
{
// Slinga genom former
foreach (IShape shape in presentation.Slides[0].Shapes)
{
if (shape is VideoFrame)
{
// Extrahera och spara video
IVideoFrame vf = shape as IVideoFrame;
String type = vf.EmbeddedVideo.ContentType;
int ss = type.LastIndexOf('/');
type = type.Remove(0, type.LastIndexOf('/') + 1);
Byte[] buffer = vf.EmbeddedVideo.BinaryData;
using (FileStream stream = new FileStream("NewVideo_out." + type, FileMode.Create, FileAccess.Write, FileShare.Read))
{
stream.Write(buffer, 0, buffer.Length);
}
}
}
}
Skaffa en gratis API-licens
Du kan använda Aspose.Slides för .NET utan utvärderingsbegränsningar genom att begära en tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du bäddar in videor i PowerPoint-presentationer med C#. Dessutom har du sett hur man extraherar videor från en presentation programmatiskt. Utöver detta kan du besöka dokumentationen för att utforska mer om Aspose.Slides för .NET. Du kan också skicka dina frågor till vårt forum.