在各种情况下,演示者在他们的演示中包含声音或音频剪辑。 MS PowerPoint 提供音频帧以将声音插入幻灯片。在本文中,您将学习如何在演示文稿中自动处理音频帧。特别是,本文将介绍如何在 C# 的 PowerPoint PPT 中添加音频帧。此外,我们将演示如何从 PPT 幻灯片中提取音频帧。
C# API 在 PowerPoint PPT 中添加音频帧
要在 PowerPoint PPT/PPTX 中添加或提取音频帧,我们将使用 Aspose.Slides for .NET。它是一个类库,可让您自动创建和操作 PowerPoint 和 OpenOffice 演示文稿。您可以通过 NuGet 或 下载 其 DLL 安装 API。
PM> Install-Package Aspose.Slides.NET
在 C# 的 PowerPoint PPT 中添加音频帧
以下是使用 C# 将音频添加到 PowerPoint PPT 的步骤。
- 首先,使用 Presentation 类创建一个新的演示文稿或加载现有的演示文稿。
- 然后,将文件中的音频加载到 FileStream 对象中。
- 使用 ISlide.Shapes.AddAudioFrameEmbedded(Single, Single, Single, Single, Stream) 方法将音频插入到演示文稿中,并将返回的音频帧的引用获取到 IAudioFrame 对象中。
- 设置其他属性,例如 PlayMode、Volume 等。
- 最后,使用 Presentation.Save(String, SaveFormat) 方法保存演示文稿。
以下代码示例演示如何在 C# 中的 PowerPoint PPTX 中插入音频。
// 加载演示文稿
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);
}
在 C# 中提取 PowerPoint PPT 中的音频帧
您还可以从现有的 PowerPoint PPT 中提取音频帧。以下是执行此操作的步骤。
- 首先,使用 Presentation 类加载 PowerPoint 演示文稿。
- 然后,将所需的幻灯片放入 Presentation.Slides 集合中的 ISlide 对象中。
- 获取幻灯片过渡到 ISlideShowTransition 对象的参考。
- 从 ISlideShowTransition.Sound.BinaryData 将声音数据检索到 byte[] 数组中。
- 最后,使用字节数组或将其保存为文件。
以下代码示例演示如何从 C# 中的 PowerPoint PPTX 中提取音频。
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 不受评估限制。
结论
在本文中,您学习了如何使用 C# 在 PowerPoint PPT 中插入音频。此外,您还了解了如何以编程方式从演示文稿中提取音频剪辑。此外,您可以浏览 文档 以了解有关 Aspose.Slides for .NET 的更多信息。此外,您可以将您的问题发布到我们的 论坛。
也可以看看
- 在 C# 中将 PowerPoint PPTX/PPT 转换为 PNG 图像
- 使用 C# 在 PowerPoint 演示文稿中设置幻灯片背景
- 使用 C# 为 PowerPoint PPTX 或 PPT 生成缩略图
- 使用 C# 将动画应用于 PowerPoint 中的文本
- 使用 C# 拆分 PowerPoint 演示文稿
提示:如果您需要从视频剪辑中提取音频,您可以使用 Aspose MP4 到 MP3 转换器 来完成这项工作。