Java 添加音频到ppt_Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件

Java 添加 、读取以及删除

程序环境:导入Spire.Presentation.jar(免费版) ;  jdk1.8.0

jar文件导入效果入下:158b3770528fb7f5482100b1f2853b01.png

cba166742d0a2bebb352b589e97880b9.png

1. 添加视频、音频文件到幻灯片

import com.spire.presentation.*;

import

a86a99a826db05744b976dd357c0d702.png

2. 获取幻灯片中的视频、音频文件

import com.spire.presentation.*;

public class ExtractVideoAudio {

public static void main(String[]args) throws Exception{

//加载包含视频、音频文件的PPT文档

Presentation ppt = new Presentation();

ppt.loadFromFile("result.pptx");

//获取第一张幻灯片

ISlide slide = ppt.getSlides().get(0);

IVideo video = null;

IAudio audio = null;

//遍历幻灯片中的shape,判断是否包含视频

for(int i = 0; i< slide.getShapes().getCount(); i++) {

IShape shape = slide.getShapes().get(i);

if ((shape instanceof IVideo)) {

//保存视频

video = (IVideo) shape;

video.getEmbeddedVideoData().saveToFile("提取的视频" + i + ".mp4");

}

}

//遍历幻灯片中的shape,判断是否包含音频

for(int j = 0; j< slide.getShapes().getCount(); j++)

{

IShape shape = slide.getShapes().get(j);

//保存音频

if ((shape instanceof IAudio)){

audio =(IAudio) shape;

audio.getData().saveToFile("提取的音频"+ j +".mp3");

}

}

}

}

2ae0902be1ccbadb035a2e044df639bb.png

3. 删除幻灯片中的视频、音频文件

import com.spire.presentation.*;

public class DeleteVideoAndAudio {

public static void main(String[] args) throws Exception{

//加载包含视频、音频文件的PPT文档

Presentation ppt = new Presentation();

ppt.loadFromFile("result.pptx");

//获取第一张幻灯片

ISlide slide = ppt.getSlides().get(0);

//遍历幻灯片中的shape,判断是否包含视频

for(int i = 0; i< slide.getShapes().getCount(); i++) {

IShape shape = slide.getShapes().get(i);

if ((shape instanceof IVideo)) {

//删除视频

IVideo video = (IVideo) shape;

slide.getShapes().remove(video);

}

}

//遍历幻灯片中的shape,判断是否包含音频

for(int j = 0; j< slide.getShapes().getCount(); j++)

{

IShape shape = slide.getShapes().get(j);

//删除音频

if ((shape instanceof IAudio)){

IAudio audio = (IAudio) shape;

slide.getShapes().remove(audio);

}

}

//保存文档

ppt.saveToFile("DeleteVideoAndAudio.pptx",FileFormat.PPTX_2013);

ppt.dispose();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一段Java代码,可以用于读取PPT文件的动画关键帧: ```java import org.apache.poi.sl.usermodel.Slide; import org.apache.poi.xslf.usermodel.XMLSlideShow; import org.apache.poi.xslf.usermodel.XSLFSlide; import org.apache.poi.xslf.usermodel.XSLFTextRun; import java.io.FileInputStream; import java.io.IOException; import java.util.List; public class PPTReader { public static void main(String[] args) throws IOException { // 读取PPT文件 FileInputStream fis = new FileInputStream("test.pptx"); XMLSlideShow pptx = new XMLSlideShow(fis); // 获取所有幻灯片 List<XSLFSlide> slides = pptx.getSlides(); // 遍历所有幻灯片 for (XSLFSlide slide : slides) { // 获取当前幻灯片的所有动画 List<org.apache.poi.sl.usermodel.Shape> shapes = slide.getShapes(); for (org.apache.poi.sl.usermodel.Shape shape : shapes) { for (org.apache.poi.sl.usermodel.AnimationEffect effect : shape.getAnimationEffects()) { // 获取动画的关键帧 List<org.apache.poi.sl.usermodel.AnimationEffect.KeyTime> keyTimes = effect.getKeyTimes(); for (org.apache.poi.sl.usermodel.AnimationEffect.KeyTime keyTime : keyTimes) { System.out.println("动画开始时间:" + keyTime.getOffset() + "ms"); System.out.println("动画持续时间:" + effect.getTiming().getDuration() + "ms"); System.out.println("---------------"); } } } } // 关闭文件流 fis.close(); } } ``` 这段代码使用了Apache POI库来读取PPT文件,并遍历了每个幻灯片的所有动画,获取了动画的关键帧信息。你可以根据自己的需求调整代码,来满足不同的场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值