音樂java,音樂java遊戲

本文目錄一覽:

如何用java識別音樂

Java中可以通過AudioClip類來實現音樂播放,循環等操作。AudioClip支持的音樂格式有.wav、.mid、AIFF、AU、RMF,但是格式要求相當嚴格。我用AudioClip播放我自己錄的一段wav文件就沒有聲音,讓我糾結了很久,最後才發現我的wav文件內容沒有寫文件尾,對於格式要求嚴格的AudioClip而言是無法識別的(這個問題困擾了我整晚)。

AudioCLip主要的方法有:play()播放依次聲音;loop()循環播放音樂;stop()停止播放。

做法一:

InputStream is =null;

AudioStream as = null ;

is = getClass().getResourceAsStream(“a.wav”);

try {

as = new AudioStream(is);

} catch (IOException e) {}

AudioPlayer.player.start(as);

此方法將音樂文件放入流中在播放,僅限於Java Application,容易報錯,空指針異常,或者是流異常,不推薦。

做法二:

String music = “a.wav”;

AudioClip clip = Applet.newAudioClip(getClass().getResource(music));

次方法在Applet中運行沒有問題,但是Application中getclass()會返回空指針,導致失敗。

推薦做法:

private URL url;

private AudioClip ac;

File f1 = new File(“C:/3.wav”);

try {

url= f1.toURL();

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

ac= Applet.newAudioClip(cb1);

ac.play();

如何用Java來編寫一個音樂播放器

首先要在環境電腦中安裝下JMF環境,才能引入javax.sound.sampled.*這個包,一下是用過的代碼

package TheMusic;

import java.io.*;

import javax.sound.sampled.*;

public class Music {

public static void main(String[] args) {

// TODO Auto-generated method stub

//修改你的音樂文件路徑就OK了

AePlayWave apw=new AePlayWave(“突然好想你.wav”);

apw.start();

}

}

在程序中實例化這個類,啟動線程,實例化的時候參照Test修改路徑就OK播放聲音的類

Java代碼

public class AePlayWave extends Thread {

private String filename;

public AePlayWave(String wavfile) {

filename = wavfile;

}

public void run() {

File soundFile = new File(filename);

AudioInputStream audioInputStream = null;

try {

audioInputStream = AudioSystem.getAudioInputStream(soundFile);

} catch (Exception e1) {

e1.printStackTrace();

return;

}

AudioFormat format = audioInputStream.getFormat();

SourceDataLine auline = null;

DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);

try {

auline = (SourceDataLine) AudioSystem.getLine(info);

auline.open(format);

} catch (Exception e) {

e.printStackTrace();

return;

}

auline.start();

int nBytesRead = 0;

byte[] abData = new byte[512];

try {

while (nBytesRead != -1) {

nBytesRead = audioInputStream.read(abData, 0, abData.length);

if (nBytesRead = 0)

auline.write(abData, 0, nBytesRead);

}

} catch (IOException e) {

e.printStackTrace();

return;

} finally {

auline.drain();

auline.close();

}

}

}

Java怎麼實現音樂播放

java swt實現播放音樂代碼如下:

public void play(String Filename)

{

try{

// 用輸入流打開一音頻文件

InputStream in = new FileInputStream(Filename);//FIlename 是你加載的聲音文件如(「game.wav」)

// 從輸入流中創建一個AudioStream對象

AudioStream as = new AudioStream(in);

AudioPlayer.player.start(as);//用靜態成員player.start播放音樂

//AudioPlayer.player.stop(as);//關閉音樂播放

//如果要實現循環播放,則用下面的三句取代上面的「AudioPlayer.player.start(as);」這句

/*AudioData data = as.getData();

ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data);

AudioPlayer.player.start(gg);// Play audio.

*/

//如果要用一個 URL 做為聲音流的源(source),則用下面的代碼所示替換輸入流來創建聲音流:

/*AudioStream as = new AudioStream (url.openStream());

*/

} catch(FileNotFoundException e){

System.out.print(“FileNotFoundException “);

} catch(IOException e){

System.out.print(“有錯誤!”);

}

}

怎樣在java中播放音樂

使用play()方法進行播放,loop()方法循環播放,stop()方法停止播放。

實際例子:

File file1 = new File(“src\\music\\11.wav”);

AudioClip sound1;

sound1 = Applet.newAudioClip(file1.toURL());

sound1.play();

這樣就實現了播放音樂的功能,注意J2SE默認只支持 wav格式的音頻。

原創文章,作者:PEBUA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/318111.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
PEBUA的頭像PEBUA
上一篇 2025-01-11 16:28
下一篇 2025-01-11 16:28

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • 為什麼不用Python開發遊戲

    Python是一種高級編程語言,擁有簡單易學、代碼簡潔等優點。同時,Python也是一種多用途的語言,可以用於Web開發、數據分析以及機器學習等領域。然而,對於遊戲開發領域,Pyt…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論