Nhúng Video vào PowerPoint bằng C#

Khung video được sử dụng trong bản trình bày PowerPoint để thể hiện điều gì đó hoặc để thu hút khán giả. Thông thường, các video được sử dụng để tiết kiệm thời gian và làm cho các bài thuyết trình hiệu quả hơn. Trong bài viết này, bạn sẽ học cách làm việc với video trong bản trình bày theo chương trình. Đặc biệt, bài viết sẽ đề cập đến cách nhúng hoặc trích xuất video trong bản trình bày PowerPoint bằng C#.

.NET API để nhúng video vào bản trình bày PowerPoint

Để nhúng hoặc trích xuất video trong bản trình bày PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for .NET. API được thiết kế để tạo và thao tác với các tài liệu PowerPoint và OpenOffice. Bạn có thể cài đặt API qua NuGet hoặc tải xuống DLL của nó.

PM> Install-Package Aspose.Slides.NET

Nhúng Video vào Bản trình bày PowerPoint bằng C#

Sau đây là các bước để nhúng video vào bản trình bày PowerPoint bằng C#.

Mẫu mã sau đây cho biết cách nhúng video vào bản trình bày PowerPoint bằng C#.

// Khởi tạo lớp Trình bày đại diện cho PPTX
using (Presentation pres = new Presentation())
{
    // Tải trang trình bày đầu tiên
    ISlide sld = pres.Slides[0];

    // Thêm video vào bản trình bày
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // Thêm khung video
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // Gán video vào khung video
    vf.EmbeddedVideo = vid;

    // Đặt chế độ phát và âm lượng của video
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // Ghi tệp PPTX vào đĩa
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

Nhúng video vào bản trình bày từ nguồn web

Bạn cũng có thể nhúng video vào bản trình bày PowerPoint từ nguồn web. Sau đây là các bước để đạt được điều này.

Mẫu mã sau đây cho biết cách nhúng video vào bản trình bày từ một nguồn web.

using (Presentation pres = new Presentation())
{
    // ID video
    string videoId = "Tj75Arhq5ho";

    // Thêm khung video
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // Tải hình thu nhỏ
    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));
    }

    // Lưu bản trình bày
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

Trích xuất Video từ Bản trình bày PowerPoint trong C#

Aspose.Slides for .NET cũng cho phép bạn trích xuất video từ bản trình bày. Dưới đây là các bước đơn giản để đạt được điều này.

  • Đầu tiên, tải tệp PowerPoint bằng lớp Trình bày.
  • Sau đó, lặp qua từng ISlide trong bộ sưu tập Presentation.Slides.
  • Đối với mỗi đối tượng ISlide, lặp qua tập hợp IShape trong đó.
  • Nếu IShape là VideoFrame, thì hãy giải nén và lưu video được nhúng.

Mẫu mã sau đây cho thấy cách trích xuất video từ bản trình bày PowerPoint bằng C#.

// Tải tệp bản trình bày 
Presentation presentation = new Presentation("Video.pptx");

// Lặp qua các trang trình bày trong bản trình bày
foreach (ISlide slide in presentation.Slides)
{
    // Lặp qua các hình dạng
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // Trích xuất và lưu 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);
            }
        }
    }
}

Nhận giấy phép API miễn phí

Bạn có thể sử dụng Aspose.Slides for .NET mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời.

Sự kết luận

Trong bài này, bạn đã học cách nhúng video vào bản trình bày PowerPoint bằng C#. Hơn nữa, bạn đã thấy cách trích xuất video từ bản trình bày theo chương trình. Ngoài ra, bạn có thể truy cập tài liệu để khám phá thêm về Aspose.Slides for .NET. Ngoài ra, bạn có thể đăng các truy vấn của mình lên diễn đàn của chúng tôi.

Xem thêm