java音樂,JAVA音樂軟體下載

本文目錄一覽:

怎樣在java中播放音樂

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

實際例子:

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

AudioClip sound1;

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

sound1.play();

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

怎樣通過java打開音樂播放器

java中打開音樂播放器的方式是使用audioclip類來播放音樂,實例如下:

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

import java.net.*;

import javax.swing.*;

import java.io.File;

class AudioPlayDemo extends JFrame implements ActionListener {

boolean looping = false; 

File file1 = new File(“music\\明天會更好.wav”);

AudioClip sound1;

AudioClip chosenClip;

JButton playButton = new JButton(“播放”); 

JButton loopButton = new JButton(“循環播放”); 

JButton stopButton = new JButton(“停止”); 

JLabel status = new JLabel(“選擇播放文件”); 

JPanel controlPanel = new JPanel(); 

Container container = getContentPane(); 

public AudioPlayDemo() { 

try {

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

chosenClip = sound1;

} catch(OutOfMemoryError e){

System.out.println(“內存溢出”);

e.printStackTrace();

} catch(Exception e){

e.printStackTrace();

}

playButton.addActionListener(this);

loopButton.addActionListener(this);

stopButton.addActionListener(this);

stopButton.setEnabled(false); 

controlPanel.add(playButton);

controlPanel.add(loopButton);

controlPanel.add(stopButton);

container.add(controlPanel, BorderLayout.CENTER);

container.add(status, BorderLayout.SOUTH);

setSize(300, 130); 

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉窗口時退出程序

}

public void actionPerformed(ActionEvent event) {

if (chosenClip == null) {

status.setText(“聲音未載入”);

return; 

}

Object source = event.getSource(); //獲取用戶洗滌激活的按鈕

if (source == playButton) {

stopButton.setEnabled(true); 

loopButton.setEnabled(true); 

chosenClip.play(); 

status.setText(“正在播放”);

}

if (source == loopButton) {

looping = true;

chosenClip.loop(); 

loopButton.setEnabled(false); 

stopButton.setEnabled(true); 

status.setText(“正在循環播放”); 

}

if (source == stopButton) {

if (looping) {

looping = false;

chosenClip.stop(); 

loopButton.setEnabled(true);

} else {

chosenClip.stop();

}

stopButton.setEnabled(false); 

status.setText(“停止播放”);

}

}

public static void main(String s[]) {

new AudioPlayDemo(); 

}

}

只能播放wav格式的歌曲

如何用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音樂播放

Applet我沒有學過——-現在都用Swing了,AWT都很少用的。

我跑了下你的程序,你的錯誤在這:

sound=getAudioClip(getDocumentBase(),”test.mp3″);

也就是AudioClip 對象沒有創建成功!

在監聽器中觸發事件的時候,你首先要判斷AudioClip 不為空,然後才能進行播放!

if (obj == plays) {

if (sound != null) {

sound.play();

} else {

sound = getAudioClip(getDocumentBase(), “D:\\lalala.wma”);

sound.play();

}

} else if (obj == stops) {

。。。。。

這樣寫是對的寫法

但是sound = getAudioClip(getDocumentBase(), “D:\\lalala.wma”);

還是沒有構建成功。所以,你構建AudioClip估計是錯誤的寫法。

Appletde API太老了,我沒有看,所以給你個Swing寫的代碼,你跑下看看,編譯通過的。建議你不要用Applet了!

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import javax.media.Manager;

import javax.media.MediaLocator;

import javax.media.Player;

import javax.swing.*;

public class MusicDemo extends JFrame implements ActionListener {

Player player = null;

String tilte = “音樂播放器”;

public MusicDemo(String title) {

super(title); // 設置顯示標題(必須)

setResizable(false);// 設置是否可以拖放窗口大小

File mufile = new File(“D:\\Lovinyou.mp3”);

try {

if (player == null) {

if (mufile.exists()) {

MediaLocator locator = new MediaLocator(“file:”

+ mufile.getAbsolutePath());

player = Manager.createRealizedPlayer(locator);

player.prefetch();

}

}

// player.addControllerListener(this);

player.start();// 開始播放

add(player.getControlPanelComponent(), “South”);

double lx = Toolkit.getDefaultToolkit().getScreenSize().getWidth();

double ly = Toolkit.getDefaultToolkit().getScreenSize().getHeight();

setLocation((int) lx / 2 – 200, (int) ly / 2 – 150);// 設置顯示位置(必須)

// 設置frame的大小(必須)

setSize(400, 300);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 關閉按鈕退出程序(必須)

setVisible(true);// (必須)

} catch (Exception e) {

e.getStackTrace();

}

}

public String getTilte() {

return tilte;

}

public void setTilte(String tilte) {

this.tilte = tilte;

}

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

public static void main(String[] args) {

MusicDemo d = new MusicDemo(“播放音樂”);

}

}

記得在File mufile = new File(“D:\\Lovinyou.mp3”); 這地方換為你音樂的路徑

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(“有錯誤!”);

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/305220.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:07
下一篇 2025-01-01 11:07

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

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

    編程 2025-04-29
  • Java JsonPath 效率優化指南

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

    編程 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
  • 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
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論