ฝังวิดีโอใน PowerPoint โดยใช้ C#

เฟรมวิดีโอใช้ในงานนำเสนอ PowerPoint เพื่อแสดงบางสิ่งบางอย่างหรือเพื่อดึงดูดผู้ชม บ่อยครั้งที่มีการใช้วิดีโอเพื่อประหยัดเวลาและทำให้การนำเสนอมีประสิทธิภาพมากขึ้น ในบทความนี้ คุณจะได้เรียนรู้วิธีการทำงานกับวิดีโอในงานนำเสนอโดยใช้โปรแกรม โดยเฉพาะอย่างยิ่ง บทความจะกล่าวถึงวิธีการฝังหรือแยกวิดีโอในงานนำเสนอ PowerPoint โดยใช้ C#

.NET API เพื่อฝังวิดีโอในงานนำเสนอ PowerPoint

ในการฝังหรือแยกวิดีโอในงานนำเสนอ PowerPoint เราจะใช้ Aspose.Slides for .NET API ได้รับการออกแบบมาเพื่อสร้างและจัดการเอกสาร PowerPoint และ OpenOffice คุณสามารถติดตั้ง API ผ่าน NuGet หรือ ดาวน์โหลด DLL ของมัน

PM> Install-Package Aspose.Slides.NET

ฝังวิดีโอในงานนำเสนอ PowerPoint โดยใช้ C#

ต่อไปนี้เป็นขั้นตอนในการฝังวิดีโอในงานนำเสนอ PowerPoint โดยใช้ C#

  • ก่อนอื่น ให้โหลดไฟล์ PowerPoint หรือสร้างไฟล์ใหม่โดยใช้คลาส Presentation
  • จากนั้น รับการอ้างอิงของสไลด์ที่ต้องการในวัตถุ ISlide
  • เพิ่มวิดีโอใหม่ลงในคอลเลกชันวิดีโอของงานนำเสนอโดยใช้เมธอด Presentation.Videos.AddVideo() และรับข้อมูลอ้างอิงไปยังวัตถุ IVideo
  • เพิ่มเฟรมวิดีโอใหม่ในสไลด์โดยใช้เมธอด ISlide.Shapes.AddVideoFrame(single, single, single, single, IVideo)
  • รับการอ้างอิงของเฟรมวิดีโอในวัตถุ IVideoFrame
  • ตั้งค่าโหมดการเล่นและระดับเสียงของวิดีโอ
  • สุดท้าย บันทึกงานนำเสนอโดยใช้เมธอด Presentation.Save(String, SaveFormat)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการฝังวิดีโอในงานนำเสนอ PowerPoint โดยใช้ C#

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึง PPTX
using (Presentation pres = new Presentation())
{
    // รับสไลด์แรก
    ISlide sld = pres.Slides[0];

    // เพิ่มวิดีโอในงานนำเสนอ
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // เพิ่มเฟรมวิดีโอ
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // กำหนดวิดีโอให้กับเฟรมวิดีโอ
    vf.EmbeddedVideo = vid;

    // ตั้งค่าโหมดการเล่นและระดับเสียงของวิดีโอ
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // เขียนไฟล์ PPTX ลงดิสก์
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

ฝังวิดีโอในงานนำเสนอจากแหล่งที่มาของเว็บ

คุณยังสามารถฝังวิดีโอในงานนำเสนอ PowerPoint จากแหล่งข้อมูลบนเว็บได้อีกด้วย ต่อไปนี้เป็นขั้นตอนในการบรรลุเป้าหมายนี้

  • ก่อนอื่น ให้โหลดไฟล์ PowerPoint หรือสร้างไฟล์ใหม่โดยใช้คลาส Presentation
  • จากนั้น รับการอ้างอิงของสไลด์ที่ต้องการในวัตถุ ISlide
  • เพิ่มเฟรมวิดีโอใหม่ในสไลด์โดยระบุ URL ของวิดีโอในเมธอด ISlide.Shapes.AddVideoFrame(single, single, single, single, String)
  • รับการอ้างอิงของเฟรมวิดีโอในวัตถุ IVideoFrame
  • ตั้งค่าโหมดการเล่นและระดับเสียงของวิดีโอ
  • ตั้งค่าภาพขนาดย่อของวิดีโอโดยใช้ WebClient
  • บันทึกงานนำเสนอโดยใช้เมธอด Presentation.Save(String, SaveFormat)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการฝังวิดีโอลงในงานนำเสนอจากแหล่งที่มาของเว็บ

using (Presentation pres = new Presentation())
{
    // รหัสวิดีโอ
    string videoId = "Tj75Arhq5ho";

    // เพิ่มเฟรมวิดีโอ
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // โหลดภาพขนาดย่อ
    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));
    }

    // บันทึกงานนำเสนอ
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

แยกวิดีโอจากงานนำเสนอ PowerPoint ใน C

Aspose.Slides for .NET ยังให้คุณแยกวิดีโอออกจากงานนำเสนอได้อีกด้วย ด้านล่างนี้เป็นขั้นตอนง่ายๆ ในการบรรลุเป้าหมายนี้

  • ขั้นแรก ให้โหลดไฟล์ PowerPoint โดยใช้คลาส Presentation
  • จากนั้น วนซ้ำแต่ละ ISlide ในคอลเลกชัน Presentation.Slides
  • สำหรับแต่ละวัตถุ ISlide ให้วนซ้ำชุดของ IShape ในนั้น
  • หาก IShape เป็น VideoFrame ให้แยกและบันทึกวิดีโอที่ฝังไว้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกวิดีโอจากงานนำเสนอ PowerPoint โดยใช้ C#

// โหลดไฟล์งานนำเสนอ 
Presentation presentation = new Presentation("Video.pptx");

// วนซ้ำสไลด์ในงานนำเสนอ
foreach (ISlide slide in presentation.Slides)
{
    // วนรอบรูปร่าง
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // แยกและบันทึกวิดีโอ
            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);
            }
        }
    }
}

รับใบอนุญาต API ฟรี

คุณสามารถใช้ Aspose.Slides for .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราว

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการฝังวิดีโอในงานนำเสนอ PowerPoint โดยใช้ C# นอกจากนี้ คุณได้เห็นวิธีแยกวิดีโอจากงานนำเสนอโดยทางโปรแกรม นอกจากนี้ คุณสามารถไปที่ เอกสารประกอบ เพื่อสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Slides for .NET นอกจากนี้ คุณสามารถโพสต์คำถามของคุณไปที่ ฟอรัม ของเรา

ดูสิ่งนี้ด้วย