java获取音频_java获取音频文件 播放时长

该博客展示了如何使用Java获取音频文件的播放时长,通过AudioSystem和Clip类处理本地或HTTP路径的wav文件,返回时长以微秒为单位。
摘要由CSDN通过智能技术生成

【实例简介】

【实例截图】

0f353d6f2b4f2e0cb8c136345ba9cbcb.png

【核心代码】

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.Clip;

import java.io.File;

import java.net.URL;

/**

* Function:

*

* @author zhengyou

* Created on 2018/2/7 11:55

* @since JDK 1.7

**/

public class Main {

/**

* 获取音频文件时长

*

* @param wavFilePath wav文件路径,支持本地和网络HTTP路径

* @return 时长/微秒,可 /1000000D 得到秒

* @throws Exception

*/

public static long getMicrosecondLengthForWav(String wavFilePath) throws Exception {

if (wavFilePath == null || wavFilePath.length() == 0) {

return 0;

}

String bath = wavFilePath.split(":")[0];

Clip clip = AudioSystem.getClip();

AudioInputStream ais;

if ("http".equals(bath.toLowerCase())||"https".equals(bath.toLowerCase())) {

ais = AudioSystem.getAudioInputStream(new URL(wavFilePath));

} else {

ais = AudioSystem.getAudioInputStream(new File(wavFilePath));

}

clip.open(ais);

return clip.getMicrosecondLength();

}

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

String wavUrl = "http://data.huiyi8.com/2017/gha/08/19/1969.wav";

long microsecondLengthForWav = getMicrosecondLengthForWav(wavUrl)/1000000;

System.out.println("音频时长为(秒):" microsecondLengthForWav);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值