Gérer l'audio dans les présentations avec Python

Créer des cadres audio

Aspose.Slides for Python via .NET vous permet d’ajouter des fichiers audio aux diapositives. Les fichiers audio sont intégrés dans les diapositives sous forme de cadres audio.

  1. Créez une instance de la classe Présentation.
  2. Obtenez la référence d’une diapositive à l’aide de son indice.
  3. Chargez le flux du fichier audio que vous souhaitez intégrer dans la diapositive.
  4. Ajoutez le cadre audio intégré (contenant le fichier audio) à la diapositive.
  5. Définissez le PlayMode et le Volume exposés par l’objet IAudioFrame.
  6. Enregistrez la présentation modifiée.

Ce code Python vous montre comment ajouter un cadre audio intégré à une diapositive :

import aspose.slides as slides

# Instancie une classe de présentation qui représente un fichier de présentation
with slides.Presentation() as pres:
    # Obtient la première diapositive
    sld = pres.slides[0]

    # Charge le fichier son wav dans un flux
    with open(path + "sampleaudio.wav", "rb") as in_file:
        # Ajoute le cadre audio
        audio_frame = sld.shapes.add_audio_frame_embedded(50, 150, 100, 100, in_file)

        # Définit le mode de lecture et le volume de l'audio
        audio_frame.play_mode = slides.AudioPlayModePreset.AUTO
        audio_frame.volume = slides.AudioVolumeMode.LOUD

        # Enregistre le fichier PowerPoint sur le disque
        pres.save("AudioFrameEmbed_out.pptx", slides.export.SaveFormat.PPTX)

Modifier la miniature du cadre audio

Lorsque vous ajoutez un fichier audio à une présentation, l’audio apparaît sous forme de cadre avec une image par défaut standard (voir l’image dans la section ci-dessous). Vous pouvez modifier la miniature du cadre audio (définir votre image préférée).

Ce code Python vous montre comment modifier la miniature ou l’image d’aperçu d’un cadre audio :

import aspose.slides as slides

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Ajoute un cadre audio à la diapositive avec une position et une taille spécifiées.
    with open("sample2.mp3", "rb") as audio_fs:
        audioFrame = slide.shapes.add_audio_frame_embedded(150, 100, 50, 50, audio_fs)

        # Ajoute une image aux ressources de la présentation.
        with open("eagle.jpeg", "rb") as image_fs:
            data = image_fs.read()
        
        audioImage = presentation.images.add_image(data)

        # Définit l'image pour le cadre audio.
        audioFrame.picture_format.picture.image = audioImage
        
        #Enregistre la présentation modifiée sur le disque
        presentation.save("example_out.pptx", slides.export.SaveFormat.PPTX)

Modifier les options de lecture audio

Aspose.Slides for Python via .NET vous permet de modifier les options qui contrôlent la lecture ou les propriétés d’un audio. Par exemple, vous pouvez ajuster le volume d’un audio, régler la lecture en boucle, ou même masquer l’icône audio.

Le volet Options audio dans Microsoft PowerPoint :

example1_image

Les Options audio de PowerPoint qui correspondent aux propriétés Aspose.Slides AudioFrame :

Les options Édition de PowerPoint qui correspondent aux propriétés Aspose.Slides AudioFrame :

Le contrôle du volume de PowerPoint dans le panneau de contrôle audio correspond à la propriété AudioFrame.volume_value. Il vous permet de modifier le volume audio en pourcentage.

Voici comment modifier les options de lecture audio :

  1. Créer ou obtenir le cadre audio.
  2. Définissez de nouvelles valeurs pour les propriétés du cadre audio que vous souhaitez ajuster.
  3. Enregistrez le fichier PowerPoint modifié.

Ce code Python démontre une opération dans laquelle les options d’un audio sont ajustées :

import aspose.slides as slides

with slides.Presentation("AudioFrameEmbed_out.pptx") as pres:
    # Récupère la forme AudioFrame
    audioFrame = pres.slides[0].shapes[0]

    # Définit le mode de lecture sur lecture au clic
    audioFrame.play_mode = slides.AudioPlayModePreset.ON_CLICK

    # Définit le volume à faible
    audioFrame.volume = slides.AudioVolumeMode.LOW

    # Définit la lecture de l'audio sur plusieurs diapositives
    audioFrame.play_across_slides = True

    # Désactive la boucle pour l'audio
    audioFrame.play_loop_mode = False

    # Masque le AudioFrame pendant le diaporama
    audioFrame.hide_at_showing = True

    # Rembobine l'audio au début après la lecture
    audioFrame.rewind_audio = True

    # Enregistre le fichier PowerPoint sur le disque
    pres.save("AudioFrameEmbed_changed.pptx", slides.export.SaveFormat.PPTX)

Cet exemple Python montre comment ajouter un nouveau cadre audio avec audio intégré, le rogner, et définir les durées du fondu :

with slides.Presentation() as pres:
    slide = pres.slides[0]

    with open("sampleaudio.mp3", "rb") as audio_stream:
        audio_data = audio_stream.read()

    audio = pres.audios.add_audio(audio_data)
    audio_frame = slide.shapes.add_audio_frame_embedded(50, 50, 100, 100, audio)

    # Définit le décalage de début du rognage à 1,5 seconde
    # Définit le décalage de fin du rognage à 2 secondes
    # Définit la durée du fondu d'entrée à 200 ms
    # Définit la durée du fondu de sortie à 500 ms

    pres.save("AudioFrameTrimFade_out.pptx", slides.export.SaveFormat.PPTX)

L’exemple de code suivant montre comment récupérer un cadre audio avec audio intégré et régler son volume à 85 % :

with slides.Presentation("AudioFrameEmbed_out.pptx") as pres:
    # Récupère la forme d'un cadre audio
    audio_frame = pres.slides[0].shapes[0]

    # Définit le volume audio à 85%
    audio_frame.volume_value = 85.0

    pres.save("AudioFrameValue_out.pptx", slides.export.SaveFormat.PPTX)

Extraire l’audio

Aspose.Slides for Python via .NET vous permet d’extraire le son utilisé dans les transitions de diaporama. Par exemple, vous pouvez extraire le son utilisé dans une diapositive spécifique.

  1. Créez une instance de la classe Présentation et chargez la présentation contenant l’audio.
  2. Obtenez la référence de la diapositive concernée à l’aide de son indice.
  3. Accédez aux transitions du diaporama pour la diapositive.
  4. Extrayez le son sous forme de données binaires.

Ce code Python vous montre comment extraire l’audio utilisé dans une diapositive :

import aspose.slides as slides

#avec slides.Presentation("AudioSlide.pptx") as pres:
with slides.Presentation("AudioFrameEmbed_changed.pptx") as pres:
    # Accède à la diapositive souhaitée
    slide = pres.slides[0]  

    # Obtient les effets de transition du diaporama pour la diapositive
    transition = slide.slide_show_transition

    #Extrait le son sous forme de tableau d'octets
    audio = transition.sound.binary_data

    print("Length: " + str(len(audio)))

FAQ

Puis-je réutiliser le même fichier audio sur plusieurs diapositives sans augmenter la taille du fichier ?

Oui. Ajoutez l’audio une seule fois à la collection audio partagée de la présentation et créez des cadres audio supplémentaires qui font référence à cet élément existant. Cela évite de dupliquer les données multimédias et maintient la taille de la présentation sous contrôle.

Puis-je remplacer le son d’un cadre audio existant sans recréer la forme ?

Oui. Pour un son lié, mettez à jour le chemin du lien pour qu’il pointe vers le nouveau fichier. Pour un son intégré, remplacez l’objet audio intégré par un autre provenant de la collection audio de la présentation. Le formatage du cadre et la plupart des paramètres de lecture restent intacts.

Le rognage modifie-t-il les données audio sous-jacentes stockées dans la présentation ?

Non. Le rognage n’ajuste que les limites de lecture. Les octets audio originaux restent intacts et accessibles via l’audio intégré ou la collection audio de la présentation.