欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java音頻播放示例分享(java如何播放音頻)

 更新時間:2014年04月03日 09:16:24   作者:  
java如何播放音頻?下面的代碼就介紹了java音頻播放示例,需要的朋友可以參考下

這是一份精簡后的代碼,能夠支持的格式十分有限。

復制代碼 代碼如下:

package com.hongyuan.test;

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

 public static final String MUSIC_FILE = "相逢一笑.wav";

 public static void main(String[] args) throws LineUnavailableException,
   UnsupportedAudioFileException, IOException {

  // 獲取音頻輸入流
  AudioInputStream audioInputStream = AudioSystem
    .getAudioInputStream(new File(MUSIC_FILE));
  // 獲取音頻編碼對象
  AudioFormat audioFormat = audioInputStream.getFormat();

  // 設置數(shù)據(jù)輸入
  DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,
    audioFormat, AudioSystem.NOT_SPECIFIED);
  SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem
    .getLine(dataLineInfo);
  sourceDataLine.open(audioFormat);
  sourceDataLine.start();

  /*
   * 從輸入流中讀取數(shù)據(jù)發(fā)送到混音器
   */
  int count;
  byte tempBuffer[] = new byte[1024];
  while ((count = audioInputStream.read(tempBuffer, 0, tempBuffer.length)) != -1) {
   if (count > 0) {
    sourceDataLine.write(tempBuffer, 0, count);
   }
  }

  // 清空數(shù)據(jù)緩沖,并關閉輸入
  sourceDataLine.drain();
  sourceDataLine.close();
 }

}

相關文章

  • 淺談Java中的參數(shù)傳遞問題

    淺談Java中的參數(shù)傳遞問題

    這篇文章主要介紹了Java中的參數(shù)傳遞問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Maven本地倉庫的配置以及修改默認.m2倉庫位置

    Maven本地倉庫的配置以及修改默認.m2倉庫位置

    今天小編就為大家分享一篇關于Maven本地倉庫的配置以及修改默認.m2倉庫位置的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • SpringCloud OpenFeign 自定義響應解碼器的問題記錄

    SpringCloud OpenFeign 自定義響應解碼器的問題記錄

    我們在使用 Spring Cloud 微服務的時候,通常將返回結果使用一個JsonResult 類進行封裝,本文重點介紹SpringCloud OpenFeign 自定義響應解碼器的問題記錄,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • MybatisPlus實現(xiàn)對象嵌套關聯(lián)查詢一對多List集合查詢

    MybatisPlus實現(xiàn)對象嵌套關聯(lián)查詢一對多List集合查詢

    這篇文章主要介紹了MybatisPlus實現(xiàn)對象嵌套關聯(lián)查詢一對多List集合查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • IDEA中Services欄不顯示的解決方案小結

    IDEA中Services欄不顯示的解決方案小結

    正常編譯完一個SpringBoot或者SringCloud項目之后,Services都會顯示出你有哪些服務,如果沒有services欄怎么解決呢?下面小編給大家分享IDEA中Services欄不顯示的解決方案小結,感興趣的朋友一起看看吧
    2021-08-08
  • 關于Java中的繼承和組合的一個錯誤使用的例子

    關于Java中的繼承和組合的一個錯誤使用的例子

    這篇文章主要介紹了關于Java中的繼承和組合的一個錯誤使用的例子,需要的朋友可以參考下
    2016-08-08
  • SpringBoot項目中的多數(shù)據(jù)源支持的方法

    SpringBoot項目中的多數(shù)據(jù)源支持的方法

    本篇文章主要介紹了SpringBoot項目中的多數(shù)據(jù)源支持的方法,主要介紹在SpringBoot項目中利用SpringDataJpa技術如何支持多個數(shù)據(jù)庫的數(shù)據(jù)源,有興趣的可以了解一下
    2017-10-10
  • Hadoop 中 HBase Shell命令的詳解

    Hadoop 中 HBase Shell命令的詳解

    這篇文章主要介紹了Hadoop 中 HBase Shell命令的詳解的相關資料,需要的朋友可以參考下
    2017-10-10
  • Java使用Runnable接口創(chuàng)建線程的示例代碼

    Java使用Runnable接口創(chuàng)建線程的示例代碼

    在Java中,多線程編程是實現(xiàn)并發(fā)操作的重要手段之一,通過多線程,程序可以同時執(zhí)行多個任務,從而提高應用程序的效率和響應速度,Java提供了多種創(chuàng)建線程的方式,其中實現(xiàn)Runnable接口是最常見且推薦的方式之一,本文將詳細介紹如何使用Runnable接口創(chuàng)建線程
    2025-02-02
  • Java如何實現(xiàn)讀取txt文件內(nèi)容并生成Word文檔

    Java如何實現(xiàn)讀取txt文件內(nèi)容并生成Word文檔

    本文主要介紹了通過Java實現(xiàn)讀取txt文件中的內(nèi)容,并將內(nèi)容生成Word文檔。文章的代碼非常詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2021-12-12

最新評論