使用java怎么将视频转换成音频?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
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"); } }
运行结果截图
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。