From 068fc7f2e81178e55fa191a13709af64b1a163f6 Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期一, 05 十二月 2022 14:27:43 +0800 Subject: [PATCH] 处理编码 --- src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java b/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java index 2f293bc..114a903 100644 --- a/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java +++ b/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java @@ -15,7 +15,7 @@ /** - * 获取语音文件播放时长(秒) 支持wav 格式 + * 鑾峰彇璇煶鏂囦欢鎾斁鏃堕暱(绉�) 鏀寔wav 鏍煎紡 * @param filePath * @return */ @@ -39,7 +39,7 @@ } /** - * 获取mp3语音文件播放时长(秒) mp3 + * 鑾峰彇mp3璇煶鏂囦欢鎾斁鏃堕暱(绉�) mp3 * @param filePath * @return */ @@ -58,7 +58,7 @@ /** - * 获取mp3语音文件播放时长(秒) + * 鑾峰彇mp3璇煶鏂囦欢鎾斁鏃堕暱(绉�) * @param mp3File * @return */ @@ -77,21 +77,21 @@ /** - * 得到pcm文件的毫秒数 + * 寰楀埌pcm鏂囦欢鐨勬绉掓暟 * - * pcm文件音频时长计算 - * 同图像bmp文件一样,pcm文件保存的是未压缩的音频信息。 16bits 编码是指,每次采样的音频信息用2个字节保存。可以对比下bmp文件用分别用2个字节保存RGB颜色的信息。 16000采样率 是指 1秒钟采样 16000次。常见的音频是44100HZ,即一秒采样44100次。 单声道: 只有一个声道。 + * pcm鏂囦欢闊抽鏃堕暱璁$畻 + * 鍚屽浘鍍廱mp鏂囦欢涓�鏍凤紝pcm鏂囦欢淇濆瓨鐨勬槸鏈帇缂╃殑闊抽淇℃伅銆� 16bits 缂栫爜鏄寚锛屾瘡娆¢噰鏍风殑闊抽淇℃伅鐢�2涓瓧鑺備繚瀛樸�傚彲浠ュ姣斾笅bmp鏂囦欢鐢ㄥ垎鍒敤2涓瓧鑺備繚瀛楻GB棰滆壊鐨勪俊鎭�� 16000閲囨牱鐜� 鏄寚 1绉掗挓閲囨牱 16000娆°�傚父瑙佺殑闊抽鏄�44100HZ锛屽嵆涓�绉掗噰鏍�44100娆°�� 鍗曞0閬擄細 鍙湁涓�涓0閬撱�� * - * 根据这些信息,我们可以计算: 1秒的16000采样率音频文件大小是 2*16000 = 32000字节 ,约为32K 1秒的8000采样率音频文件大小是 2*8000 = 16000字节 ,约为 16K + * 鏍规嵁杩欎簺淇℃伅锛屾垜浠彲浠ヨ绠楋細 1绉掔殑16000閲囨牱鐜囬煶棰戞枃浠跺ぇ灏忔槸 2*16000 = 32000瀛楄妭 锛岀害涓�32K 1绉掔殑8000閲囨牱鐜囬煶棰戞枃浠跺ぇ灏忔槸 2*8000 = 16000瀛楄妭 锛岀害涓� 16K * - * 如果已知录音时长,可以根据文件的大小计算采样率是否正常。 + * 濡傛灉宸茬煡褰曢煶鏃堕暱锛屽彲浠ユ牴鎹枃浠剁殑澶у皬璁$畻閲囨牱鐜囨槸鍚︽甯搞�� * @param filePath * @return */ public static long getPCMDurationMilliSecond(String filePath) { File file = new File(filePath); - //得到多少秒 + //寰楀埌澶氬皯绉� long second = file.length() / 32000 ; long milliSecond = Math.round((file.length() % 32000) / 32000.0 * 1000 ) ; -- Gitblit v1.8.0