在各種情況下,演示者在他們的演示中使用聲音或音頻剪輯。為了在演示文稿中包含聲音,MS PowerPoint 提供了音頻幀。在本文中,您將學習如何自動處理音頻幀。特別是,本文將介紹如何使用 Java 在 PowerPoint PPT 中插入音頻幀。此外,您還將學習如何以編程方式從 PowerPoint PPT/PPTX 中提取音頻。
在 PowerPoint PPT 中插入音頻幀的 Java API
要在演示文稿中添加或提取音頻幀,我們將使用 Aspose.Slides for Java。它是一個功能豐富的 API,允許您創建和處理 PowerPoint 和 OpenOffice 文檔。此外,它還允許您將演示文稿轉換為其他文件格式。您可以通過 Maven 安裝 API 或 下載 其 JAR。
<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 轉換器,您可以輕鬆地從視頻剪輯中提取音頻或聲音。