Nhúng Video vào PowerPoint bằng Java

Các bài thuyết trình PowerPoint thường chứa các khung video để trình bày điều gì đó hoặc để thu hút khán giả. Trong nhiều trường hợp, các video được sử dụng để tiết kiệm thời gian và làm cho các bài thuyết trình hiệu quả. Trong bài viết này, bạn sẽ học cách làm việc với video trong tệp PowerPoint theo chương trình. Đặc biệt, bài viết sẽ đề cập đến cách nhúng hoặc trích xuất video trong bản trình bày PowerPoint bằng Java.

API Java để nhúng video vào bản trình bày PowerPoint

Để nhúng hoặc trích xuất video trong bản trình bày PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for Java. API được thiết kế để tạo và thao tác với các tài liệu PowerPoint và OpenOffice. Bạn có thể tải xuống JAR của API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

Nhúng Video vào Bản trình bày PowerPoint bằng Java

Sau đây là các bước để nhúng video vào bản trình bày PowerPoint bằng Java.

Mẫu mã sau đây cho thấy cách nhúng video vào bản trình bày PowerPoint bằng Java.

// Tải bản trình bày hoặc tạo một bản trình bày mới
Presentation pres = new Presentation();
try {
    // Tải trang trình bày đầu tiên
    ISlide sld = pres.getSlides().get_Item(0);
    
    // Thêm video vào bên trong bản trình bày
    IVideo vid = pres.getVideos().addVideo(new FileInputStream(new File("Wildlife.mp4")));

    // Thêm khung video
    IVideoFrame vf = sld.getShapes().addVideoFrame(50, 150, 300, 350, vid);

    // Đặt video thành khung video
    vf.setEmbeddedVideo(vid);

    // Đặt chế độ phát và âm lượng của video
    vf.setPlayMode(VideoPlayModePreset.Auto);
    vf.setVolume(AudioVolumeMode.Loud);

    // Ghi tệp PPTX vào đĩa
    pres.save("VideoFrame.pptx", SaveFormat.Pptx);
} catch (Exception e) {
} finally {
    if (pres != null) pres.dispose();
}

Nhúng Video từ Nguồn Web bằng Java

Bạn cũng có thể nhúng video vào bản trình bày PowerPoint từ nguồn web. Sau đây là các bước để đạt được điều này.

Mẫu mã sau đây cho biết cách nhúng video vào bản trình bày từ một nguồn web.

// Tạo một bản trình bày hoặc tải một bản trình bày mới
Presentation pres = new Presentation("presentation");
try {
      // thêm videoFrame
      IVideoFrame videoFrame = pres.getSlides().get_Item(0).getShapes().addVideoFrame(
              10, 10, 427, 240, "https://www.youtube.com/embed/Tj75Arhq5ho");
      videoFrame.setPlayMode(VideoPlayModePreset.Auto);

      // tải hình thu nhỏ
      String thumbnailUri = "http://img.youtube.com/vi/Tj75Arhq5ho/hqdefault.jpg";
      URL url;

      // Đặt hình thu nhỏ
      try {
          url = new URL(thumbnailUri);
          videoFrame.getPictureFormat().getPicture().setImage(pres.getImages().addImage(url.openStream()));
      } catch (MalformedURLException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
      // Lưu bản trình bày
      pres.save("out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Trích xuất Video từ Bản trình bày PowerPoint trong Java

Aspose.Slides for Java cũng cho phép bạn trích xuất video từ bản trình bày. Dưới đây là các bước đơn giản để đạt được điều này.

  • Đầu tiên, tải tệp PowerPoint bằng lớp Trình bày.
  • Sau đó, lặp qua từng ISlide trong bộ sưu tập Presentation.getSlides().
  • Đối với mỗi đối tượng ISlide, lặp qua tập hợp IShape trong đó.
  • Nếu IShape là VideoFrame, thì hãy giải nén và lưu video được nhúng.

Mẫu mã sau đây cho thấy cách trích xuất video từ bản trình bày PowerPoint bằng Java.

// Tải bản trình bày
Presentation pres = new Presentation("VideoSample.pptx");
try {
    // Lặp qua các trang trình bày
   for (ISlide slide : pres.getSlides()) 
    {
        // Lặp qua các hình dạng
       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();

                //Nhận phần mở rộng tệp
                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();
}

Nhận giấy phép API miễn phí

Bạn có thể sử dụng Aspose.Slides for Java mà không bị giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời.

Sự kết luận

Trong bài này, bạn đã học cách nhúng video vào bản trình bày PowerPoint bằng Java. Hơn nữa, bạn đã thấy cách trích xuất video từ bản trình bày theo chương trình. Ngoài ra, bạn có thể truy cập tài liệu để khám phá thêm về Aspose.Slides for Java. Ngoài ra, bạn có thể đăng các truy vấn của mình lên diễn đàn của chúng tôi.

Xem thêm

Thông tin: Aspose gần đây đã phát triển một ứng dụng web MP4 to MP3 miễn phí có thể được sử dụng để trích xuất âm thanh từ các tệp video.