在各种情况下,演示者在他们的演示中使用声音或音频剪辑。为了在演示文稿中包含声音,MS PowerPoint 提供了音频帧。在本文中,您将学习如何自动处理音频帧。特别是,本文将介绍如何使用 Java 在 PowerPoint PPT 中插入音频帧。此外,您将学习如何以编程方式从 PowerPoint PPT/PPTX 中提取音频。
用于在 PowerPoint PPT 中插入音频帧的 Java API
要在演示文稿中添加或提取音频帧,我们将使用 Aspose.Slides for Java。它是一个功能丰富的 API,允许您创建和处理 PowerPoint 和 OpenOffice 文档。此外,它还允许您将演示文稿转换为其他文件格式。您可以通过 Maven 或 下载 它的 JAR 安装 API。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.9</version>
<classifier>jdk16</classifier>
</dependency>
使用 Java 在 PowerPoint PPT 中插入音频帧
以下是在 Java 中将音频插入 PowerPoint PPT 的步骤。
- 首先,使用 Presentation 类创建一个新的演示文稿或加载一个现有的演示文稿。
- 然后,将文件中的音频加载到 FileInputStream 对象中。
- 使用 ISlide.getShapes().addAudioFrameEmbedded(float, float, float, float, InputStream) 方法将音频插入到演示文稿中,并将返回的音频帧的引用获取到 IAudioFrame 对象中。
- 设置其他属性,例如 PlayMode、Volume 等。
- 最后,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。
以下代码示例展示了如何在 Java 中将音频嵌入到 PowerPoint PPT 中。
// 加载或创建演示文稿
Presentation pres = new Presentation("AudioFrameEmbed_out.pptx");
try {
// 获取第一张幻灯片
ISlide sld = pres.getSlides().get_Item(0);
// 加载 wav 声音文件以进行流式传输
FileInputStream fstr = new FileInputStream(new File("audio.wav"));
// 添加音频帧
IAudioFrame audioFrame = sld.getShapes().addAudioFrameEmbedded(50, 150, 100, 100, fstr);
fstr.close();
// 将播放模式更改为点击播放
audioFrame.setPlayMode(AudioPlayModePreset.OnClick);
// 将音量设置为低
audioFrame.setVolume(AudioVolumeMode.Low);
// 将音频设置为跨幻灯片播放
audioFrame.setPlayAcrossSlides(true);
// 将音频设置为不循环播放
audioFrame.setPlayLoopMode(false);
// 在幻灯片放映期间隐藏 AudioFrame
audioFrame.setHideAtShowing(true);
// 播放后倒带音频开始
audioFrame.setRewindAudio(true);
// 将 PPTX 文件保存到磁盘
pres.save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
使用 Java 提取 PowerPoint PPTX 中的音频帧
您还可以从现有的 PowerPoint PPT 中提取音频帧。以下是执行此操作的步骤。
- 首先,使用 Presentation 类加载 PowerPoint 演示文稿。
- 然后,使用 Presentation.getSlides().getItem(int index) 将所需的幻灯片放入 ISlide 对象。
- 获取幻灯片过渡到 ISlideShowTransition 对象的参考。
- 使用 ISlideShowTransition.getSound().getBinaryData() 方法将声音数据检索到 byte[] 数组中。
- 最后,使用字节数组或将其保存为文件。
以下代码示例展示了如何从 Java 中的 PowerPoint PPTX 中提取音频。
// 加载演示文稿
Presentation pres = new Presentation("AudioSlide.pptx");
try {
// 访问所需的幻灯片
ISlide slide = pres.getSlides().get_Item(0);
// 获取幻灯片的幻灯片过渡效果
ISlideShowTransition transition = slide.getSlideShowTransition();
// 在字节数组中提取声音
byte[] audio = transition.getSound().getBinaryData();
System.out.println("Length: " + audio.length);
} finally {
if (pres != null) pres.dispose();
}
用于嵌入音频的 Java PowerPoint API - 获得免费许可证
通过获得免费的临时许可证,使用 Aspose.Slides for Java,不受评估限制。
结论
在本文中,您学习了如何使用 Java 在 PowerPoint PPT 中插入音频。此外,您还了解了如何以编程方式从演示文稿中提取音频剪辑。此外,您可以浏览 文档 以了解有关 Aspose.Slides for Java 的更多信息。此外,您可以将您的问题发布到我们的 论坛。
也可以看看
- 使用 Java 为 PowerPoint 幻灯片添加水印
- 使用 Java 从 PowerPoint 文件中提取文本
- 在 Java 中添加、连接、删除或克隆 PowerPoint 形状
- 在 Java 中将 PowerPoint PPTX/PPT 转换为 PNG 图像
- 使用 Java 为 PowerPoint PPTX 或 PPT 生成缩略图
信息:使用 Aspose 新的 MP4 到 MP3 转换器,,您可以轻松地从视频剪辑中提取音频或声音。