用Python在PowerPoint PPT中添加音頻

在各種情況下,音頻剪輯用於使 PowerPoint 演示文稿更具交互性。為了在 PPT/PPTX 演示文稿中添加音頻,MS PowerPoint 提供了一個音頻幀對象。在本文中,您將學習如何使用 Python 將音頻幀添加到 PowerPoint PPT。此外,您將了解如何從演示文稿中提取音頻並將其保存為文件。

在 PowerPoint 中添加音頻的 Python 庫

要在 PowerPoint 演示文稿中添加和提取音頻,我們將使用 Aspose.Slides for Python via .NET。它是一個功能強大的庫,用於無縫地創建和操作 PowerPoint 演示文稿。您可以使用以下命令從 PyPI 安裝它。

> pip install aspose.slides

用Python在PowerPoint PPT中添加音頻

以下是用 Python 將音頻插入 PowerPoint PPT 的步驟。

  • 首先,使用 Presentation 類創建一個新的演示文稿或加載現有的演示文稿。
  • 從 Presentations.slides 集合中獲取幻燈片的引用。
  • 從文件加載音頻。
  • 使用 Slide.shapes.addaudioframeembedded() 方法添加音頻幀。
  • 設置其他屬性,例如播放模式和音量。
  • 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。

以下代碼示例展示瞭如何使用 Python 在 PowerPoint PPT 中添加音頻。

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:
    # 得到第一張幻燈片
    sld = presentation.slides[0]

    # 加載 wav 聲音文件以流式傳輸
    with open("sample.wav", "rb") as in_file:
        # 添加音頻幀
        audio_frame = sld.shapes.add_audio_frame_embedded(50, 150, 100, 100, in_file)

        # 設置播放模式和音頻音量
        audio_frame.play_mode = slides.AudioPlayModePreset.AUTO
        audio_frame.volume = slides.AudioVolumeMode.LOUD

        # 將 PPTX 文件寫入磁盤
        presentation.save("add-audio-frame.pptx", slides.export.SaveFormat.PPTX)

在 Python 中從 PowerPoint 中提取音頻

您還可以提取嵌入到 PPT/PPTX 演示文稿中的音頻。以下是執行此操作的步驟。

  • 首先,使用 Presentation 類加載 PPT/PPTX 文件。
  • 然後,循環瀏覽 Presentation.slides 集合中的幻燈片。
  • 對於每張幻燈片,循環遍歷其具有的形狀集合。
  • 如果 shape 是 AudioFrame,則提取並保存嵌入的音頻。

以下代碼示例展示瞭如何使用 Python 從 PowerPoint PPTX 中提取音頻。

# 負載演示
with slides.Presentation("add-audio-frame.pptx") as presentation:

    # 循環播放幻燈片
   for slide in presentation.slides:

        # 遍歷形狀
       for shape in slide.shapes:

            # 檢查形狀的類型
            if type(shape) is slides.AudioFrame:

                # 獲取內容類型
                content_type = shape.embedded_audio.content_type

                # 獲取音頻數據
                buffer = shape.embedded_audio.binary_data

                # 保存音頻
                with open("extracted-audio." + content_type[content_type.rfind('/') + 1:len(content_type)], "wb") as stream:
                    stream.write(buffer)

獲得免費許可證

通過獲得免費的臨時許可,在沒有評估限制的情況下使用 Aspose.Slides for Python。

結論

在本文中,您了解瞭如何使用 Python 在 PowerPoint PPT 或 PPTX 中添加音頻。此外,您還了解瞭如何以編程方式從 PowerPoint 演示文稿中提取音頻。此外,您可以使用 文檔 閱讀更多關於 Aspose.Slides for Python 的信息。此外,您可以將您的問題發佈到我們的論壇

也可以看看

信息:Aspose,通過其在線 MP4 到 MP3 轉換器,現在提供了一個在線工具,允許您從視頻中提取音頻。