码迷,mamicode.com
首页 > 其他好文 > 详细

WAV音频文件获取时长工具类

时间:2018-02-07 14:49:46      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:equal   cond   https   for   col   new   net   url   ==   

package com.weizui.demo.util;

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 AudioUtil {

    /**
     * 获取音频文件时长
     *
     * @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);
        System.out.println(microsecondLengthForWav);
    }
}

 

WAV音频文件获取时长工具类

标签:equal   cond   https   for   col   new   net   url   ==   

原文地址:https://www.cnblogs.com/VweiweiyixiaoV/p/8425972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!