日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java转换音频采样率_转换音频采样率

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java转换音频采样率_转换音频采样率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于采樣率,相信很多人知道這個詞卻不知道是什么意思。

官方解釋:采樣頻率,也稱為采樣速度或者采樣率,定義了每秒從連續信號中提取并組成離散信號的采樣個數,它用赫茲(Hz)來表示。采樣頻率的倒數是采樣周期或者叫作采樣時間,它是采樣之間的時間間隔。通俗的講采樣頻率是指計算機每秒鐘采集多少個聲音樣本,是描述聲音文件的音質、音調,衡量聲卡、聲音文件的質量標準。

從實際效果簡單來說,采樣率會影響播放速度,采樣率越高播放速度越快。如果你以44.1k的采樣率去播一個只有8k采樣率的音頻,估計很快就播完了。所以,由于并不是所有音頻的采樣率都是統一的,就會涉及到一個采樣率轉換的問題,在這里給大家介紹一個庫,JSSRC。

這里是github地址:https://github.com/hutm/JSSRC

里面的類也不是所有都需要用到,只需要SSRC,I0Bessel,SplitRadixFft這三個類就可以實現轉換采樣率的功能。

然后用下面這個方法就可以轉換采樣率了:

private void simpleDownSample() {

File BeforeSampleChangedFile = new File(BeforeSampleChangedFilePath);

File SampleChangedFile = new File(SampleChangedFilePath);

try {

FileInputStream fileInputStream = new FileInputStream(BeforeSampleChangedFile);

FileOutputStream fileOutputStream = new FileOutputStream(SampleChangedFile);

new SSRC(fileInputStream, fileOutputStream, 8000, 44100,

2,

2,

1, Integer.MAX_VALUE, 0, 0, true);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

其中8000就是待轉換的采樣率,44100就是目標采樣率,可以從低轉到高,也可以高轉低。

轉換采樣率的方法還有很多,只是我覺得這個方法比較簡單,希望會對大家有幫助

總結

以上是生活随笔為你收集整理的java转换音频采样率_转换音频采样率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。