Video-Frames in Präsentationen auf Android verwalten

Ein gut platziertes Video in einer Präsentation kann Ihre Botschaft überzeugender machen und das Engagement‑Level Ihres Publikums erhöhen.

PowerPoint ermöglicht das Hinzufügen von Videos zu einer Folie in einer Präsentation auf zwei Arten:

  • Ein lokales Video hinzufügen oder einbetten (auf Ihrem Rechner gespeichert)
  • Ein Online‑Video hinzufügen (aus einer Web‑Quelle wie YouTube).

Um Ihnen das Hinzufügen von Videos (Video‑Objekten) zu einer Präsentation zu ermöglichen, stellt Aspose.Slides die Schnittstelle IVideo, die Schnittstelle IVideoFrame und weitere relevante Typen bereit.

Ein eingebettetes Video‑Frame erstellen

Wenn die Videodatei, die Sie zu Ihrer Folie hinzufügen möchten, lokal gespeichert ist, können Sie ein Video‑Frame erstellen, um das Video in Ihre Präsentation einzubetten.

  1. Erstellen Sie eine Instanz der Presentation ‑Klasse.
  2. Holen Sie sich über den Index einen Verweis auf die Folie.
  3. Fügen Sie ein IVideo‑Objekt hinzu und übergeben Sie den Videodateipfad, um das Video in die Präsentation einzubetten.
  4. Fügen Sie ein IVideoFrame‑Objekt hinzu, um ein Frame für das Video zu erstellen.
  5. Speichern Sie die geänderte Präsentation.

Dieser Java‑Code zeigt, wie Sie ein lokal gespeichertes Video zu einer Präsentation hinzufügen:

// Instanziert die Presentation-Klasse
Presentation pres = new Presentation("pres.pptx");
try {
    // Lädt das Video
    FileInputStream fileStream = new FileInputStream("Wildlife.mp4");
    
    IVideo video = pres.getVideos().addVideo(fileStream, LoadingStreamBehavior.KeepLocked);

    // Holt die erste Folie und fügt ein Video-Frame hinzu
    pres.getSlides().get_Item(0).getShapes().addVideoFrame(10, 10, 150, 250, video);

    // Speichert die Präsentation auf dem Datenträger
    pres.save("pres-with-video.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Alternativ können Sie ein Video hinzufügen, indem Sie seinen Dateipfad direkt an die Methode addVideoFrame(float x, float y, float width, float height, IVideo video) übergeben:

Presentation pres = new Presentation();
try {
	ISlide sld = pres.getSlides().get_Item(0);
	IVideoFrame vf = sld.getShapes().addVideoFrame(50, 150, 300, 150, "video1.avi");
} finally {
	if (pres != null) pres.dispose();
}

Ein Video‑Frame mit Video aus einer Web‑Quelle erstellen

Microsoft PowerPoint 2013 und neuer unterstützt YouTube‑Videos in Präsentationen. Wenn das Video, das Sie verwenden möchten, online verfügbar ist (z. B. auf YouTube), können Sie es über seinen Web‑Link zu Ihrer Präsentation hinzufügen.

  1. Erstellen Sie eine Instanz der Presentation ‑Klasse
  2. Holen Sie sich über den Index einen Verweis auf die Folie.
  3. Fügen Sie ein IVideo‑Objekt hinzu und übergeben Sie den Link zum Video.
  4. Legen Sie ein Vorschaubild für das Video‑Frame fest.
  5. Speichern Sie die Präsentation.

Dieser Java‑Code zeigt, wie Sie ein Video aus dem Web zu einer Folie in einer PowerPoint‑Präsentation hinzufügen:

// Instanziert ein Presentation-Objekt, das eine Präsentationsdatei darstellt 
Presentation pres = new Presentation();
try {
    addVideoFromYouTube(pres, "Tj75Arhq5ho");
    pres.save("out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
private static void addVideoFromYouTube(Presentation pres, String videoID)
{
    // Fügt ein Video-Frame hinzu
    IVideoFrame videoFrame = pres.getSlides().get_Item(0).getShapes().addVideoFrame(
            10, 10, 427, 240, "https://www.youtube.com/embed/" + videoID);
    videoFrame.setPlayMode(VideoPlayModePreset.Auto);

    // Lädt das Vorschaubild
    String thumbnailUri = "http://img.youtube.com/vi/" + videoID + "/hqdefault.jpg";
    URL url;

    try {
        url = new URL(thumbnailUri);
        videoFrame.getPictureFormat().getPicture().setImage(pres.getImages().addImage(url.openStream()));
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Video von einer Folie extrahieren

Neben dem Hinzufügen von Videos zu Folien ermöglicht Aspose.Slides das Extrahieren von in Präsentationen eingebetteten Videos.

  1. Erstellen Sie eine Instanz der Presentation‑Klasse, um die Präsentation zu laden, die das Video enthält.
  2. Durchlaufen Sie alle ISlide‑Objekte.
  3. Durchlaufen Sie alle IShape‑Objekte, um ein VideoFrame zu finden.
  4. Speichern Sie das Video auf der Festplatte.

Dieser Java‑Code zeigt, wie Sie das Video auf einer Präsentationsfolie extrahieren:

// Instanziert ein Presentation-Objekt, das eine Präsentationsdatei darstellt 
Presentation pres = new Presentation("VideoSample.pptx");
try {
    for (ISlide slide : pres.getSlides()) 
    {
        for (IShape shape : slide.getShapes()) 
        {
            if (shape instanceof VideoFrame) 
            {
                IVideoFrame vf = (IVideoFrame) shape;
                String type = vf.getEmbeddedVideo().getContentType();
                int ss = type.lastIndexOf('-');
                byte[] buffer = vf.getEmbeddedVideo().getBinaryData();

                // Holt die Dateierweiterung
                int charIndex = type.indexOf("/");
                type = type.substring(charIndex + 1);

                FileOutputStream fop = new FileOutputStream("testing2." + type);
                fop.write(buffer);
                fop.flush();
                fop.close();
            }
        }
    }
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Welche Wiedergabe‑Parameter können für ein VideoFrame geändert werden?

Sie können den Wiedergabemodus (automatisch oder bei Klick) und das Looping steuern. Diese Optionen stehen über die Eigenschaften des VideoFrame‑Objekts zur Verfügung.

Beeinflusst das Hinzufügen eines Videos die Dateigröße der PPTX?

Ja. Wenn Sie ein lokales Video einbetten, werden die Binärdaten in das Dokument aufgenommen, sodass die Präsentationsgröße proportional zur Dateigröße steigt. Wenn Sie ein Online‑Video hinzufügen, werden ein Link und ein Vorschaubild eingebettet, sodass die Größenzunahme geringer ist.

Kann ich das Video in einem bestehenden VideoFrame ersetzen, ohne Position und Größe zu ändern?

Ja. Sie können den Video‑Inhalt im Frame austauschen und dabei die Geometrie der Form beibehalten; dies ist ein gängiges Szenario zum Aktualisieren von Medien in einem bestehenden Layout.

Kann der Inhaltstyp (MIME) eines eingebetteten Videos ermittelt werden?

Ja. Ein eingebettetes Video hat einen Inhaltstyp, den Sie auslesen und beispielsweise beim Speichern auf die Festplatte verwenden können.