Audio in Präsentationen auf Android verwalten

Audio-Frames erstellen

Aspose.Slides für Android via Java ermöglicht das Hinzufügen von Audiodateien zu Folien. Die Audiodateien werden in 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 IAudioFrame‑Objekt bereitgestellt werden.
  6. Speichern Sie die geänderte Präsentation.

Dieser Java‑Code zeigt, wie Sie einen eingebetteten Audio‑Frame zu einer Folie hinzufügen:

// Instanziiert eine Presentation‑Klasse, die eine Präsentationsdatei darstellt
Presentation pres = new Presentation();
try {
    // Holt die erste Folie
    ISlide sld = pres.getSlides().get_Item(0);

    // Lädt die wav‑Audiodatei in einen Stream
    FileInputStream fstr = new FileInputStream(new File("audio.wav"));

    // Fügt das Audio‑Frame hinzu
    IAudioFrame audioFrame = sld.getShapes().addAudioFrameEmbedded(50, 150, 100, 100, fstr);
    fstr.close();
    
    // Setzt den Wiedergabemodus und die Lautstärke des Audios
    audioFrame.setPlayMode(AudioPlayModePreset.Auto);
    audioFrame.setVolume(AudioVolumeMode.Loud);

    // Schreibt die PowerPoint‑Datei auf die Festplatte
    pres.save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Audio-Frame-Vorschaubild ändern

Wenn Sie einer Präsentation eine Audiodatei hinzufügen, wird das Audio als Frame mit einem standardmäßigen Standardbild angezeigt (siehe das Bild im nachfolgenden Abschnitt). Sie können das Vorschaubild des Audio‑Frames ändern (ein gewünschtes Bild festlegen).

Dieser Java‑Code zeigt, wie Sie das Miniatur‑ bzw. Vorschaubild eines Audio‑Frames ändern:

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    // Fügt der Folie einen Audio-Frame mit angegebener Position und Größe hinzu.
    FileInputStream audioStream = new FileInputStream("sample2.mp3");
    IAudioFrame audioFrame = slide.getShapes().addAudioFrameEmbedded(150, 100, 50, 50, audioStream);
    audioStream.close();

    // Fügt dem Präsentations-Resource ein Bild hinzu.
    IPPImage picture;
    IImage image = 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", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
    if (presentation != null) presentation.dispose();
}

Audio-Wiedergabeoptionen ändern

Aspose.Slides für Android via Java ermöglicht das Anpassen von Optionen, die die Audio‑Wiedergabe oder Eigenschaften steuern. Beispielsweise können Sie die Lautstärke anpassen, das Audio in Schleife abspielen oder das Audiosymbol ausblenden.

Das Audio-Optionen-Fenster in Microsoft PowerPoint:

example1_image

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

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

Der PowerPoint Lautstärkeregler im Audiosteuerungsfeld entspricht der Eigenschaft AudioFrame.VolumeValue . Er ermöglicht das Ändern der Lautstärke als Prozentsatz.

So ändern Sie die Audio‑Wiedergabeoptionen:

  1. Erstellen 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.

Dieser Java‑Code demonstriert einen Vorgang, bei dem die Optionen eines Audios angepasst werden:

Presentation pres = new Presentation("AudioFrameEmbed_out.pptx");
try {
    // Holt das AudioFrame-Shape
    AudioFrame audioFrame = (AudioFrame)pres.getSlides().get_Item(0).getShapes().get_Item(0);

    // Setzt den Wiedergabemodus auf Bei Klick abspielen
    audioFrame.setPlayMode(AudioPlayModePreset.OnClick);

    // Setzt die Lautstärke auf Niedrig
    audioFrame.setVolume(AudioVolumeMode.Low);

    // Setzt das Audio so, dass es über Folien hinweg abgespielt wird
    audioFrame.setPlayAcrossSlides(true);

    // Deaktiviert die Schleife für das Audio
    audioFrame.setPlayLoopMode(false);

    // Blendet das AudioFrame während der Präsentation aus
    audioFrame.setHideAtShowing(true);

    // Spult das Audio nach dem Abspielen zum Start zurück
    audioFrame.setRewindAudio(true);

    // Speichert die PowerPoint-Datei auf die Festplatte
    pres.save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Dieses Java‑Beispiel zeigt, wie man einen neuen Audio‑Frame mit eingebettetem Audio hinzufügt, zuschneidet und die Ein‑ und Ausblendezeiten festlegt:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    
    FileInputStream audioData = new FileInputStream("sampleaudio.mp3");
    IAudio audio = pres.getAudios().addAudio(audioData, LoadingStreamBehavior.KeepLocked);
    IAudioFrame audioFrame = slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio);

    // Setzt den Trimm-Startversatz auf 1,5 Sekunden
    audioFrame.setTrimFromStart(1500f);
    // Setzt den Trimm-Endversatz auf 2 Sekunden
    audioFrame.setTrimFromEnd(2000f);

    // Setzt die Einblenddauer auf 200 ms
    audioFrame.setFadeInDuration(200f);
    // Setzt die Ausblenddauer auf 500 ms
    audioFrame.setFadeOutDuration(500f);

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

Das folgende Codebeispiel zeigt, wie man einen Audio‑Frame mit eingebettetem Audio abruft und dessen Lautstärke auf 85 % setzt:

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

    // Holt ein Audio-Frame-Shape
    IAudioFrame audioFrame = (IAudioFrame)slide.getShapes().get_Item(0);

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

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

Audio extrahieren

Aspose.Slides für Android via Java ermöglicht das Extrahieren des bei Folienübergängen verwendeten Tons. Beispielsweise können Sie den in einer bestimmten Folie verwendeten Ton 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 betreffenden Folie über ihren Index ab.
  3. Greifen Sie auf die Folienübergänge der Folie zu.
  4. Extrahieren Sie den Ton als Byte‑Daten.

Dieser Java‑Code zeigt, wie Sie das in einer Folie verwendete Audio extrahieren:

// Instanziiert eine Presentation-Klasse, die eine Präsentationsdatei darstellt
Presentation pres = new Presentation("AudioSlide.pptx");
try {
    // Greift auf die gewünschte Folie zu
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Holt die Folienübergangseffekte für die Folie
    ISlideShowTransition transition = slide.getSlideShowTransition();
    
    //Extrahiert den Ton in ein Byte-Array
    byte[] audio = transition.getSound().getBinaryData();
    System.out.println("Length: " + audio.length);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Kann ich dasselbe Audio-Asset über mehrere Folien hinweg wiederverwenden, ohne die Dateigröße zu erhöhen?

Ja. Fügen Sie das Audio einmal zur geteilten Audio‑Sammlung 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 Linkpfad , damit er auf die neue Datei zeigt. Für ein eingebettetes Audio tauschen Sie das eingebettete Audio‑Objekt gegen ein anderes aus der Audio‑Sammlung der Präsentation aus. Die Formatierung des Frames und die meisten Wiedergabeeinstellungen bleiben unverändert.

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

Nein. Das Zuschneiden ändert nur die Wiedergabegrenzen. Die ursprünglichen Audiodaten bleiben unverändert und sind über das eingebettete Audio oder die Audio‑Sammlung der Präsentation zugänglich.