这篇文章主要介绍如何使用Java实现视频转音频的批量转换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFmpeg的封装工具。
spring boot项目pom文件中添加以下依赖
    <!-- https://mvnrepository.com/artifact/ws.schild/jave-core -->	<dependency>	<groupId>ws.schild</groupId>	<artifactId>jave-core</artifactId>	<version>3.1.1</version>	</dependency>      <!-- 以下依赖根据系统二选一 -->      <!-- win系统平台的依赖 -->	<dependency>	<groupId>ws.schild</groupId>	<artifactId>jave-nativebin-win64</artifactId>	<version>3.1.1</version>	</dependency>      <!-- linux系统平台的依赖 -->	<dependency>	<groupId>ws.schild</groupId>	<artifactId>jave-nativebin-linux64</artifactId>	<version>3.1.1</version>	</dependency>Java单类实现代码,复制到Spring boot项目中,用idea编辑器 主方法运行。
import ws.schild.jave.Encoder; import ws.schild.jave.EncoderException; import ws.schild.jave.MultimediaObject; import ws.schild.jave.encode.AudioAttributes; import ws.schild.jave.encode.EncodingAttributes;   import java.io.File; import java.util.Arrays;   public class VideoToAudio {         //要输出的音频格式     private static String outputFormat="mp3";         /**      * 获得转化后的文件名      * @param sourceFilePath : 源视频文件路径      * @return      */     public static String  getNewFileName(String sourceFilePath) {         File source = new File(sourceFilePath);         String fileName=source.getName().substring(0, source.getName().lastIndexOf("."));         return fileName+"."+outputFormat;     }       /**      * 转化音频格式      * @param sourceFilePath : 源视频文件路径      * @param targetFilePath : 目标音乐文件路径      * @return      */     public static void transform(String sourceFilePath, String targetFilePath) {         File source = new File(sourceFilePath);         File target = new File(targetFilePath);         // 设置音频属性         AudioAttributes audio = new AudioAttributes();         audio.setCodec(null);         // 设置转码属性         EncodingAttributes attrs = new EncodingAttributes();         attrs.setOutputFormat(outputFormat);         attrs.setAudioAttributes(audio);         try {             // 音频转换格式类             Encoder encoder = new Encoder();             MultimediaObject mediaObject=new MultimediaObject(source);             encoder.encode(mediaObject, target, attrs);             System.out.println("转换已完成...");         }  catch (EncoderException e) {             e.printStackTrace();         }     }       /**      * 批量转化音频格式      * @param sourceFolderPath : 源视频文件夹路径      * @param targetFolderPath : 目标音乐文件夹路径      * @return      */     public static void batchTransform(String sourceFolderPath, String targetFolderPath) {         File sourceFolder = new File(sourceFolderPath);         if(sourceFolder.list().length!=0){             Arrays.asList(sourceFolder.list()).forEach(e->{               transform(sourceFolderPath+"\"+e, targetFolderPath+"\"+getNewFileName(e));             });         }     }       public static void main(String[] args) {         batchTransform("C:\Users\tarzan\Desktop\video","C:\Users\tarzan\Desktop\audio");     }   }以上是“如何使用Java实现视频转音频的批量转换”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。