แทรกเสียงใน PowerPoint C#

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

C# API เพื่อเพิ่มเฟรมเสียงใน PowerPoint PPT

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

PM> Install-Package Aspose.Slides.NET

เพิ่ม Audio Frame ใน PowerPoint PPT ใน C#

ต่อไปนี้เป็นขั้นตอนในการเพิ่มเสียงลงใน PowerPoint PPT โดยใช้ C#

  • ขั้นแรก สร้างงานนำเสนอใหม่หรือโหลดงานนำเสนอที่มีอยู่โดยใช้คลาส Presentation
  • จากนั้น โหลดเสียงจากไฟล์ไปยังวัตถุ FileStream
  • แทรกเสียงลงในงานนำเสนอโดยใช้เมธอด ISlide.Shapes.AddAudioFrameEmbedded(Single, Single, Single, Single, Stream) และรับการอ้างอิงของเฟรมเสียงที่ส่งคืนเป็นวัตถุ IAudioFrame
  • ตั้งค่าคุณสมบัติเพิ่มเติม เช่น PlayMode, Volume เป็นต้น
  • สุดท้าย บันทึกงานนำเสนอโดยใช้เมธอด Presentation.Save(String, SaveFormat)

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

// โหลดงานนำเสนอ
using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx"))
{
    // รับสไลด์แรก
    ISlide sld = pres.Slides[0];

    // โหลดไฟล์เสียง wav เพื่อสตรีม
    FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read);

    // เพิ่มกรอบเสียง
    IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr);

    // เปลี่ยนโหมดการเล่นเพื่อเล่นเมื่อคลิก
    audioFrame.PlayMode = AudioPlayModePreset.OnClick;

    // ตั้งระดับเสียงเป็นต่ำ
    audioFrame.Volume = AudioVolumeMode.Low;

    // ตั้งค่าเสียงให้เล่นข้ามสไลด์
    audioFrame.PlayAcrossSlides = true;

    // ตั้งค่าเสียงไม่ให้วนซ้ำ
    audioFrame.PlayLoopMode = false;

    // ซ่อน AudioFrame ระหว่างสไลด์โชว์
    audioFrame.HideAtShowing = true;

    // ย้อนกลับเสียงเพื่อเริ่มต้นหลังจากเล่น
    audioFrame.RewindAudio = true;

    // บันทึกไฟล์ PPTX ลงในดิสก์
    pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
}

แยกเฟรมเสียงใน PowerPoint PPT ใน C#

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

  • ก่อนอื่น ให้โหลดงานนำเสนอ PowerPoint โดยใช้คลาส Presentation
  • จากนั้น นำสไลด์ที่ต้องการไปไว้ในวัตถุ ISlide จากคอลเลคชัน Presentation.Slides
  • รับข้อมูลอ้างอิงของการเปลี่ยนภาพสไลด์เป็นวัตถุ ISlideShowTransition
  • ดึงข้อมูลเสียงเป็นอาร์เรย์ byte[] จาก ISlideShowTransition.Sound.BinaryData
  • สุดท้าย ใช้อาร์เรย์ไบต์หรือบันทึกเป็นไฟล์

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

string presName = "AudioSlide.pptx";

// โหลดไฟล์นำเสนอ
Presentation pres = new Presentation(presName);

// เข้าถึงสไลด์ที่ต้องการ
ISlide slide = pres.Slides[0];

// รับเอฟเฟ็กต์การเปลี่ยนภาพสไลด์สำหรับสไลด์
ISlideShowTransition transition = slide.SlideShowTransition;

// แยกเสียงในอาร์เรย์ไบต์
byte[] audio = transition.Sound.BinaryData;
System.Console.WriteLine("Length: " + audio.Length);

C# PowerPoint API - รับใบอนุญาตฟรี

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

บทสรุป

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

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

เคล็ดลับ: หากคุณต้องการแยกเสียงออกจากวิดีโอคลิป คุณสามารถใช้ Aspose ตัวแปลง MP4 เป็น MP3 เพื่อทำงานนี้ได้