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

获取wav音频时长,支持本地和网络音频

时间:2020-06-18 13:20:13      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:new   string   split   turn   imp   exce   tcl   inpu   equal   

package com.puxinwangxiao.mts.util;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import java.io.File;
import java.net.URL;

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音频时长,支持本地和网络音频

标签:new   string   split   turn   imp   exce   tcl   inpu   equal   

原文地址:https://www.cnblogs.com/yangyanbo/p/13141170.html

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