用 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 演示文稿中提取音频。此外,您可以使用 documentation 阅读更多关于 Aspose.Slides for Python 的信息。此外,您可以将您的问题发布到我们的 论坛

也可以看看

信息:Aspose 通过其 在线 MP4 到 MP3 转换器,现在提供了一个在线工具,允许您从视频中提取音频。