Audio in Präsentationen mit JavaScript verwalten

Audio-Frames erstellen

Aspose.Slides für Node.js via Java ermöglicht das Hinzufügen von Audiodateien zu Folien. Die Audiodateien werden in den Folien als Audio-Frames eingebettet.

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Rufen Sie die Referenz einer Folie über ihren Index ab.
  3. Laden Sie den Audio-Dateistream, den Sie in die Folie einbetten möchten.
  4. Fügen Sie den eingebetteten Audio-Frame (der die Audiodatei enthält) zur Folie hinzu.
  5. Setzen Sie PlayMode und Volume, die vom AudioFrame Objekt bereitgestellt werden.
  6. Speichern Sie die geänderte Präsentation.
// Instanziert eine Presentation-Klasse, die eine Präsentationsdatei repräsentiert
const pres = new aspose.slides.Presentation();
try {
    // Holt die erste Folie
    const sld = pres.getSlides().get_Item(0);
    // Lädt die wav-Audiodatei in einen Stream
    const fstr = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "audio.wav"));
    // Fügt den Audio-Frame hinzu
    const audioFrame = sld.getShapes().addAudioFrameEmbedded(50, 150, 100, 100, fstr);
    fstr.close();
    // Setzt den Wiedergabemodus und die Lautstärke des Audios
    audioFrame.setPlayMode(aspose.slides.AudioPlayModePreset.Auto);
    audioFrame.setVolume(aspose.slides.AudioVolumeMode.Loud);
    // Schreibt die PowerPoint-Datei auf die Festplatte
    pres.save("AudioFrameEmbed_out.pptx", aspose.slides.SaveFormat.Pptx);
} catch (e) {console.log(e);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Audio-Frame-Vorschaubild ändern

Wenn Sie einer Präsentation eine Audiodatei hinzufügen, erscheint das Audio als Frame mit einem standardmäßigen Standardbild (siehe das Bild im folgenden Abschnitt). Sie ändern das Vorschaubild des Audio-Frames (setzen Sie Ihr bevorzugtes Bild).

const presentation = new aspose.slides.Presentation();
try {
    const slide = presentation.getSlides().get_Item(0);
    // Fügt der Folie einen Audio-Frame an einer angegebenen Position und Größe hinzu.
    const audioStream = java.newInstanceSync("java.io.FileInputStream", "sample2.mp3");
    const audioFrame = slide.getShapes().addAudioFrameEmbedded(150, 100, 50, 50, audioStream);
    audioStream.close();
    // Fügt ein Bild zu den Präsentationsressourcen hinzu.
    let picture;
    const image = aspose.slides.Images.fromFile("eagle.jpeg");
    try {
        picture = presentation.getImages().addImage(image);
    } finally {
        if (image != null) {
            image.dispose();
        }
    }
    // Setzt das Bild für den Audio-Frame.
    audioFrame.getPictureFormat().getPicture().setImage(picture);// <-----
    // Speichert die modifizierte Präsentation auf der Festplatte
    presentation.save("example_out.pptx", aspose.slides.SaveFormat.Pptx);
} catch (e) {console.log(e);
} finally {
    if (presentation != null) {
        presentation.dispose();
    }
}

Audio-Wiedergabeoptionen ändern

Aspose.Slides für Node.js via Java ermöglicht das Ändern von Optionen, die die Wiedergabe oder Eigenschaften eines Audios steuern. Sie können beispielsweise die Lautstärke eines Audios anpassen, das Audio in einer Schleife abspielen lassen oder sogar das Audiosymbol ausblenden.

Das Audio Options‑Fenster in Microsoft PowerPoint:

example1_image

PowerPoint Audio Options, die den Aspose.Slides AudioFrame Eigenschaften entsprechen:

PowerPoint Editing‑Optionen, die den Aspose.Slides AudioFrame Eigenschaften entsprechen:

Die PowerPoint Volume controll im Audiosteuerfeld entspricht der Methode AudioFrame.setVolumeValue. Sie ermöglicht das Ändern der Lautstärke des Audios als Prozentsatz.

So ändern Sie die Audio‑Wiedergabeoptionen:

  1. Сreate oder holen Sie den Audio-Frame.
  2. Setzen Sie neue Werte für die Audio-Frame‑Eigenschaften, die Sie anpassen möchten.
  3. Speichern Sie die geänderte PowerPoint‑Datei.
const pres = new aspose.slides.Presentation("AudioFrameEmbed_out.pptx");
try {
    // Holt das AudioFrame-Shape
    const audioFrame = pres.getSlides().get_Item(0).getShapes().get_Item(0);
    // Setzt den Wiedergabemodus auf Klick abspielen
    audioFrame.setPlayMode(aspose.slides.AudioPlayModePreset.OnClick);
    // Setzt die Lautstärke auf leise
    audioFrame.setVolume(aspose.slides.AudioVolumeMode.Low);
    // Setzt das Audio so, dass es über Folien hinweg abgespielt wird
    audioFrame.setPlayAcrossSlides(true);
    // Deaktiviert die Wiederholung für das Audio
    audioFrame.setPlayLoopMode(false);
    // Blendet das AudioFrame während der Vorführung aus
    audioFrame.setHideAtShowing(true);
    // Spult das Audio nach dem Abspielen zum Anfang zurück
    audioFrame.setRewindAudio(true);
    // Speichert die PowerPoint-Datei auf der Festplatte
    pres.save("AudioFrameEmbed_changed.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Dieser JavaScript‑Code zeigt eine Operation, bei der die Optionen eines Audios angepasst werden:

const pres = new aspose.slides.Presentation();
try {
    const slide = pres.getSlides().get_Item(0);
    
    const audioData = java.newArray("byte", Array.from(fs.readFileSync("sampleaudio.mp3")));
    const audio = pres.getAudios().addAudio(audioData);
    const audioFrame = slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio);

    // Setzt den Trimmstart‑Versatz auf 1,5 Sekunden
    audioFrame.setTrimFromStart(1500);
    // Setzt den Trimmen‑Endversatz auf 2 Sekunden
    audioFrame.setTrimFromEnd(2000);

    // Setzt die Einblenddauer (Fade‑In) auf 200 ms
    audioFrame.setFadeInDuration(200);
    // Setzt die Ausblenddauer (Fade‑Out) auf 500 ms
    audioFrame.setFadeOutDuration(500);

    pres.save("AudioFrameTrimFade_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Das folgende Codebeispiel zeigt, wie Sie einen Audio‑Frame mit eingebettetem Audio abrufen und dessen Lautstärke auf 85 % setzen:

const pres = new aspose.slides.Presentation("AudioFrameEmbed_out.pptx");
try {
    const slide = pres.getSlides().get_Item(0);

    // Ruft ein Audio-Frame-Shape ab
    const audioFrame = slide.getShapes().get_Item(0);

    // Setzt die Audio-Lautstärke auf 85%
    audioFrame.setVolumeValue(85.0);

    pres.save("AudioFrameValue_out.pptx", aspose.slides.SaveFormat.Pptx);
}
finally {
    pres.dispose();
}

Audio extrahieren

Aspose.Slides für Node.js via Java ermöglicht das Extrahieren des in Folienübergängen verwendeten Tons. Sie können beispielsweise den Ton einer bestimmten Folie extrahieren.

  1. Erstellen Sie eine Instanz der Klasse Presentation und laden Sie die Präsentation, die das Audio enthält.
  2. Rufen Sie die Referenz der entsprechenden Folie über deren Index ab.
  3. Greifen Sie auf die slideshow transitions der Folie zu.
  4. Extrahieren Sie den Ton als Byte‑Daten.
// Instanziert eine Presentation-Klasse, die eine Präsentationsdatei repräsentiert
const pres = new aspose.slides.Presentation("AudioSlide.pptx");
try {
    // Greift auf die gewünschte Folie zu
    const slide = pres.getSlides().get_Item(0);
    // Holt die Folienübergangseffekte für die Folie
    const transition = slide.getSlideShowTransition();
    // Extrahiert den Ton als Byte-Array
    const audio = transition.getSound().getBinaryData();
    console.log("Length: " + audio.length);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

FAQ

Kann ich dasselbe Audio‑Asset auf mehreren Folien wiederverwenden, ohne die Dateigröße zu erhöhen?

Ja. Fügen Sie das Audio einmal zur geteilten audio collection der Präsentation hinzu und erstellen Sie weitere Audio‑Frames, die auf dieses vorhandene Asset verweisen. Dadurch wird eine Duplizierung von Mediendaten vermieden und die Präsentationsgröße bleibt kontrollierbar.

Kann ich den Ton in einem bestehenden Audio‑Frame ersetzen, ohne die Form neu zu erstellen?

Ja. Für einen verknüpften Ton aktualisieren Sie den link path sodass er auf die neue Datei verweist. Für einen eingebetteten Ton tauschen Sie das embedded audio Objekt gegen ein anderes aus der audio collection der Präsentation aus. Die Formatierung des Frames und die meisten Wiedergabeeinstellungen bleiben erhalten.

Ändert das Trimmen die zugrunde liegenden Audiodaten, die in der Präsentation gespeichert sind?

Nein. Trimmen passt lediglich die Wiedergabegrenzen an. Die ursprünglichen Audiodaten bleiben unverändert und sind über das eingebettete Audio oder die Audio‑Collection der Präsentation zugänglich.