最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java利用讀寫的方式實(shí)現(xiàn)音頻播放代碼實(shí)例

 更新時間:2019年11月27日 09:57:54   作者:摶鵬  
這篇文章主要介紹了Java利用讀寫的方式實(shí)現(xiàn)音頻播放代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Java利用讀寫的方式實(shí)現(xiàn)音頻播放代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

public static void main(String[] args) {
  Audiotest at = new Audiotest("我在測試時,這里必須是盤符的音頻文件");
  at.start();
}
import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;

public class Audiotest extends Thread {
  
  //1.定義音頻文件的變量,變量需要:一個用于存儲音頻文件對象名字的String對象 filename
  private String filename;
  //2.構(gòu)造函數(shù),初始化filename
  public Audiotest(String filename){
    this.filename = filename;
  }
  
  @Override
  public void run() {
    //1.定義一個文件對象引用,指向名為filename那個文件
    File sourceFile = new File(filename);
    //定義一個AudioInputStream用于接收輸入的音頻數(shù)據(jù)
    AudioInputStream audioInputStream = null;
    //使用AudioSystem來獲取音頻的音頻輸入流
    try {
      audioInputStream = AudioSystem.getAudioInputStream(sourceFile);
    } catch (UnsupportedAudioFileException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    //4,用AudioFormat來獲取AudioInputStream的格式
    AudioFormat format = audioInputStream.getFormat();
    //5.源數(shù)據(jù)行SoureDataLine是可以寫入數(shù)據(jù)的數(shù)據(jù)行
    SourceDataLine auline = null;
    //獲取受數(shù)據(jù)行支持的音頻格式DataLine.info
    DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);

    //獲得與指定info類型相匹配的行
    try {
      auline = (SourceDataLine) AudioSystem.getLine(info);
      //打開具有指定格式的行,這樣可使行獲得所有所需系統(tǒng)資源并變得可操作
      auline.open();
    } catch (LineUnavailableException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    //允許某一個數(shù)據(jù)行執(zhí)行數(shù)據(jù)i/o
    auline.start();

    //寫出數(shù)據(jù)
    int nBytesRead = 0;
    byte[] abData = new byte[2];
    //從音頻流讀取指定的最大數(shù)量的數(shù)據(jù)字節(jié),并將其放入給定的字節(jié)數(shù)組中。
    try {
      while (nBytesRead != -1) {
        nBytesRead = audioInputStream.read(abData, 0, abData.length);
        //通過此源數(shù)據(jù)行將數(shù)據(jù)寫入混頻器
        if (nBytesRead >= 0)
          auline.write(abData, 0, nBytesRead);
      }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      auline.drain();
      auline.close();
    }  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用FTP上傳文件并模擬接受的方法

    Java使用FTP上傳文件并模擬接受的方法

    這篇文章主要介紹了Java使用FTP上傳文件并模擬接受的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java Jmeter全局變量設(shè)置過程圖解

    Java Jmeter全局變量設(shè)置過程圖解

    這篇文章主要介紹了Java Jmeter全局變量設(shè)置過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java Socket實(shí)現(xiàn)猜數(shù)字小游戲

    Java Socket實(shí)現(xiàn)猜數(shù)字小游戲

    這篇文章主要為大家詳細(xì)介紹了Java Socket實(shí)現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 通過實(shí)例分析java多態(tài)

    通過實(shí)例分析java多態(tài)

    這篇文章主要介紹了通過實(shí)例分析java多態(tài),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • 解決springboot報錯Could not resolve placeholder‘xxx‘ in value“${XXXX}

    解決springboot報錯Could not resolve placeholder‘x

    這篇文章主要介紹了解決springboot報錯:Could not resolve placeholder ‘xxx‘ in value “${XXXX}問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java編程生產(chǎn)者消費(fèi)者實(shí)現(xiàn)的四種方法

    Java編程生產(chǎn)者消費(fèi)者實(shí)現(xiàn)的四種方法

    Java生產(chǎn)者和消費(fèi)者問題是線程安全模型中的經(jīng)典問題:生產(chǎn)者和消費(fèi)者在同一個時間段共用同一個存儲空間,生產(chǎn)者向存儲空間中添加產(chǎn)品呢,消費(fèi)者取走產(chǎn)品,當(dāng)存儲空間為空時,消費(fèi)者阻塞,當(dāng)存儲空間滿時,生產(chǎn)者阻塞
    2021-10-10
  • java中JSqlParser的使用

    java中JSqlParser的使用

    JSqlParse是一款很精簡的sql解析工具,它可以將常用的sql文本解析成具有層級結(jié)構(gòu)的語法樹,本文主要介紹了java中JSqlParser的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • idea中方法、注釋、導(dǎo)入類折疊或是展開的設(shè)置方法

    idea中方法、注釋、導(dǎo)入類折疊或是展開的設(shè)置方法

    這篇文章主要介紹了idea中方法、注釋、導(dǎo)入類折疊或是展開的設(shè)置,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • SpringBoot整合Java DL4J實(shí)現(xiàn)情感分析系統(tǒng)

    SpringBoot整合Java DL4J實(shí)現(xiàn)情感分析系統(tǒng)

    在當(dāng)今數(shù)字化時代,企業(yè)越來越重視用戶的反饋,以不斷改進(jìn)產(chǎn)品和服務(wù),自然語言處理技術(shù)為分析用戶評價提供了強(qiáng)大的工具,本文將介紹如何使用 Spring Boot 整合 Java Deeplearning4j 構(gòu)建一個情感分析系統(tǒng),需要的朋友可以參考下
    2024-10-10
  • 詳解IDEA2020新建spring項(xiàng)目和c3p0連接池的創(chuàng)建和使用

    詳解IDEA2020新建spring項(xiàng)目和c3p0連接池的創(chuàng)建和使用

    C3P0是一個開源的JDBC連接池,它實(shí)現(xiàn)了數(shù)據(jù)源和JNDI綁定,本文就使用Spring實(shí)現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論

武城县| 元谋县| 三台县| 万年县| 红河县| 崇信县| 华蓥市| 巢湖市| 玛纳斯县| 将乐县| 侯马市| 册亨县| 友谊县| 新平| 新田县| 铁岭市| 寻乌县| 屏东市| 蓝田县| 宿松县| 聊城市| 东兴市| 铜鼓县| 北流市| 嘉鱼县| 潼关县| 甘南县| 团风县| 桓台县| 海林市| 奈曼旗| 武川县| 白水县| 鄢陵县| 营口市| 新巴尔虎左旗| 大英县| 长葛市| 安宁市| 湖州市| 甘泉县|