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

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

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

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

復(fù)制代碼 代碼如下:

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));
  // 獲取音頻編碼對(duì)象
  AudioFormat audioFormat = audioInputStream.getFormat();

  // 設(shè)置數(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ù)緩沖,并關(guān)閉輸入
  sourceDataLine.drain();
  sourceDataLine.close();
 }

}

相關(guān)文章

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

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

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

    Maven本地倉庫的配置以及修改默認(rèn).m2倉庫位置

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

    SpringCloud OpenFeign 自定義響應(yīng)解碼器的問題記錄

    我們?cè)谑褂?nbsp;Spring Cloud 微服務(wù)的時(shí)候,通常將返回結(jié)果使用一個(gè)JsonResult 類進(jìn)行封裝,本文重點(diǎn)介紹SpringCloud OpenFeign 自定義響應(yīng)解碼器的問題記錄,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • MybatisPlus實(shí)現(xiàn)對(duì)象嵌套關(guān)聯(lián)查詢一對(duì)多List集合查詢

    MybatisPlus實(shí)現(xiàn)對(duì)象嵌套關(guān)聯(lián)查詢一對(duì)多List集合查詢

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

    IDEA中Services欄不顯示的解決方案小結(jié)

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

    關(guān)于Java中的繼承和組合的一個(gè)錯(cuò)誤使用的例子

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

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

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

    Hadoop 中 HBase Shell命令的詳解

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

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

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

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

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

最新評(píng)論