Audio
Contents
[
Hide
]
This article demonstrates how to embed audio frames and control playback using Aspose.Slides for Python via Java. The following examples show basic audio operations.
Install the package as described in Installation. Each example imports asposeslides before starting the JVM, then imports the API after the JVM is running.
Add an Audio Frame
Insert an empty audio frame that can later hold embedded sound data.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from java.io import ByteArrayInputStream
from asposeslides.api import Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
audio_data = jpype.JArray(jpype.JByte)(0)
audio_stream = ByteArrayInputStream(audio_data)
# Create an empty audio frame (audio will be embedded later).
audio_frame = slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio_stream)
finally:
presentation.dispose()
Access an Audio Frame
This code retrieves the first audio frame on a slide.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from java.io import ByteArrayInputStream
from asposeslides.api import AudioFrame, Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
audio_data = jpype.JArray(jpype.JByte)(0)
audio_stream = ByteArrayInputStream(audio_data)
slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio_stream)
# Access the first audio frame on the slide.
first_audio = None
for shape in slide.getShapes():
if isinstance(shape, AudioFrame):
first_audio = shape
break
if first_audio is None:
print("The slide contains no audio frames.")
finally:
presentation.dispose()
Remove an Audio Frame
Delete a previously added audio frame.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from java.io import ByteArrayInputStream
from asposeslides.api import Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
audio_data = jpype.JArray(jpype.JByte)(0)
audio_stream = ByteArrayInputStream(audio_data)
audio_frame = slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio_stream)
# Remove the audio frame.
slide.getShapes().remove(audio_frame)
finally:
presentation.dispose()
Set Audio Playback
Configure the audio frame to play automatically when the slide appears.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from java.io import ByteArrayInputStream
from asposeslides.api import AudioPlayModePreset, Presentation
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
audio_data = jpype.JArray(jpype.JByte)(0)
audio_stream = ByteArrayInputStream(audio_data)
audio_frame = slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio_stream)
# Play automatically when the slide appears.
audio_frame.setPlayMode(AudioPlayModePreset.Auto)
finally:
presentation.dispose()