Video-Frame

Ein gut platzierter Video in einer Präsentation kann Ihre Botschaft überzeugender gestalten und das Engagement Ihres Publikums erhöhen.

PowerPoint ermöglicht es Ihnen, Videos auf zwei Arten zu einer Folie in einer Präsentation hinzuzufügen:

  • Fügen Sie ein lokales Video hinzu oder betten Sie es ein (auf Ihrem Computer gespeichert)
  • Fügen Sie ein Online-Video hinzu (aus einer Webquelle wie YouTube).

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

Eingebetteten Video-Frame erstellen

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

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

Dieser PHP-Code zeigt Ihnen, wie Sie ein lokal gespeichertes Video zu einer Präsentation hinzufügen:

  # Instanziiert die Presentation-Klasse
  $pres = new Presentation("pres.pptx");
  try {
    # Lädt das Video
    $fileStream = new Java("java.io.FileInputStream", "Wildlife.mp4");
    $video = $pres->getVideos()->addVideo($fileStream, LoadingStreamBehavior->KeepLocked);
    # Holt die erste Folie und fügt einen Video-Frame hinzu
    $pres->getSlides()->get_Item(0)->getShapes()->addVideoFrame(10, 10, 150, 250, $video);
    # Speichert die Präsentation auf der Festplatte
    $pres->save("pres-with-video.pptx", SaveFormat::Pptx);
  } catch (JavaException $e) {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

Video-Frame mit Video aus einer Webquelle 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 Weblink zu Ihrer Präsentation hinzufügen.

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

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

  # Instanziiert ein Presentation-Objekt, das eine Präsentationsdatei darstellt
  $pres = new Presentation();
  try {
    addVideoFromYouTube($pres, "Tj75Arhq5ho");
    $pres->save("out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Video von der Folie extrahieren

Neben dem Hinzufügen von Videos zu Folien ermöglicht es Aspose.Slides, Videos, die in Präsentationen eingebettet sind, zu extrahieren.

  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 einen VideoFrame zu finden.
  4. Speichern Sie das Video auf der Festplatte.

Dieser PHP-Code zeigt Ihnen, wie Sie das Video auf einer Präsentationsfolie extrahieren:

  # Instanziiert ein Presentation-Objekt, das eine Präsentationsdatei darstellt
  $pres = new Presentation("VideoSample.pptx");
  try {
    foreach($pres->getSlides() as $slide) {
      foreach($slide->getShapes() as $shape) {
        if (java_instanceof($shape, new JavaClass("com.aspose.slides.VideoFrame"))) {
          $vf = $shape;
          $type = $vf->getEmbeddedVideo()->getContentType();
          $ss = $type->lastIndexOf('-');
          $buffer = $vf->getEmbeddedVideo()->getBinaryData();
          # Holt die Dateierweiterung
          $charIndex = $type->indexOf("/");
          $type = $type->substring($charIndex + 1);
          $fop = new Java("java.io.FileOutputStream", "testing2." . $type);
          $fop->write($buffer);
          $fop->flush();
          $fop->close();
        }
      }
    }
  } catch (JavaException $e) {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }