真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JAVA音樂管理后端代碼 java音樂管理后端代碼是什么

求在java中添加背景音樂的代碼

不知道你是在java里哪添加?Swing界面中嗎?

創(chuàng)新互聯(lián)主營長海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),長海h5重慶小程序開發(fā)公司搭建,長海網(wǎng)站營銷推廣歡迎長海等地區(qū)企業(yè)咨詢

下面這個是我之前做Swing界面程序時(shí)添加音樂的代碼,希望對你有幫助

AudioClip[] musics;//定義音樂集合

musics = new AudioClip[2];//初始化

URL url1 = this.getClass().getResource("/ReadyGo.WAV"); //定義音樂文件地址

URL url2 = this.getClass().getResource("/back1.mid"); //定義音樂文件地址

musics[0] = JApplet.newAudioClip(url1);

musics[1] = JApplet.newAudioClip(url2);

musics[0].play();//音樂開始執(zhí)行

musics[1].stop();//停止播放

跪求java 音樂播放的代碼啊,完美運(yùn)行的就行

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.AWTException;

import java.awt.Frame;

import java.awt.SystemTray;

import java.awt.TrayIcon;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

import javax.swing.*;

public class bofan_2 extends JFrame implements ActionListener

{

boolean looping=false;

File file1=null;

AudioClip sound1;

AudioClip chosenClip;

private JComboBox box1=null; //歌曲列表

private JButton butbofan=null; //播放

private JButton butboxhuan=null; //循環(huán)播放

private JButton buttinzi=null; //停止

private JButton butshan=null; //上一首

private JButton butzhantin=null; //暫停

private JButton butxia=null; //下一首

private TrayIcon trayIcon;//托盤圖標(biāo)

private SystemTray systemTray;//系統(tǒng)托盤

public bofan_2()

{

this.setSize(420,400);

this.setResizable(false);

this.setLocationRelativeTo(null);

this.setLayout(null);

box1=new JComboBox();

box1.addItem("傷心太平洋");

box1.addItem("勁爆的士高");

box1.addItem("老夫少妻");

box1.addItem("愛不再來");

box1.addItem("抽身");

box1.addItem("傷心城市");

box1.addItem("二零一二");

box1.addItem("精忠報(bào)國");

box1.addItem("秋沙");

box1.addItem("吻別");

box1.addItem("音樂瘋起來");

box1.setBounds(10,20,150,20);

butbofan=new JButton("播放");

butbofan.addActionListener(this);

butbofan.setBounds(165,50,60,20);

butboxhuan=new JButton("循環(huán)播放");

butboxhuan.addActionListener(this);

butboxhuan.setBounds(230,50,90,20);

buttinzi=new JButton("停止");

buttinzi.setEnabled(false);

buttinzi.addActionListener(this);

buttinzi.setBounds(335,50,60,20);

butshan=new JButton("上一首");

butshan.addActionListener(this);

butshan.setBounds(165,90,80,20);

butzhantin=new JButton("暫停");

butzhantin.setEnabled(false);

butzhantin.addActionListener(this);

butzhantin.setBounds(250,90,60,20);

butxia=new JButton("下一首");

butxia.addActionListener(this);

butxia.setBounds(320,90,80,20);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().add(box1);

this.getContentPane().add(butbofan);

this.getContentPane().add(butboxhuan);

this.getContentPane().add(buttinzi);

this.getContentPane().add(butshan);

this.getContentPane().add(butzhantin);

this.getContentPane().add(butxia);

try {

UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel");

} catch (ClassNotFoundException e)

{

e.printStackTrace();

} catch (InstantiationException e)

{

e.printStackTrace();

} catch (IllegalAccessException e)

{

e.printStackTrace();

} catch (UnsupportedLookAndFeelException e)

{

e.printStackTrace();

}

setSize(450,450);

systemTray = SystemTray.getSystemTray();//獲得系統(tǒng)托盤的實(shí)例

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

try {

trayIcon = new TrayIcon(ImageIO.read(new File("004.jpg")));

systemTray.add(trayIcon);//設(shè)置托盤的圖標(biāo),0.gif與該類文件同一目錄

}

catch (IOException e1)

{

e1.printStackTrace();

}

catch (AWTException e2)

{

e2.printStackTrace();

}

this.addWindowListener(

new WindowAdapter(){

public void windowIconified(WindowEvent e)

{

dispose();//窗口最小化時(shí)dispose該窗口

}

});

trayIcon.addMouseListener(new MouseAdapter()

{

public void mouseClicked(MouseEvent e){

if(e.getClickCount() == 2)//雙擊托盤窗口再現(xiàn)

setExtendedState(Frame.NORMAL);

setVisible(true);

}

});

this.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

Object source = e.getSource();

if (source== butbofan)

{

System.out.println((String) box1.getSelectedItem());

file1=new File((String) box1.getSelectedItem()+".wav");

butboxhuan.setEnabled(true);

buttinzi.setEnabled(true);

butzhantin.setEnabled(true);

butzhantin.setText("暫停");

try {

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

chosenClip = sound1;

} catch(OutOfMemoryError er){

System.out.println("內(nèi)存溢出");

er.printStackTrace();

} catch(Exception ex){

ex.printStackTrace();

}

chosenClip.play();

this.setTitle("正在播放"+(String) box1.getSelectedItem());

}

if (source== butboxhuan)

{

file1=new File((String) box1.getSelectedItem()+".wav");

try {

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

chosenClip = sound1;

} catch(OutOfMemoryError er){

System.out.println("內(nèi)存溢出");

er.printStackTrace();

} catch(Exception ex){

ex.printStackTrace();

}

looping = true;

chosenClip.loop();

butboxhuan.setEnabled(false);

buttinzi.setEnabled(true);

butzhantin.setText("暫停");

this.setTitle("正在循環(huán)播放"+(String) box1.getSelectedItem());

}

if (source== buttinzi)

{

if (looping)

{

looping = false;

chosenClip.stop();

butboxhuan.setEnabled(true);

butzhantin.setText("暫停");

} else {

chosenClip.stop();

}

buttinzi.setEnabled(false);

this.setTitle("停止播放");

}

if(source==butshan)

{

butzhantin.setText("暫停");

}

if(source==butzhantin)

{

buttinzi.setEnabled(false);

butzhantin.setText("繼續(xù)");

if(source==butzhantin)

{

butzhantin.setText("暫停");

}

}

if(source==butxia)

{

butzhantin.setText("暫停");

}

}

public static void main(String[] args)

{

bofan_2 xx=new bofan_2();

}

}

/*

可以用加載聲音文件的方法:

第一幀:mysound= new Sound();

mysound.attachSound(聲音id名字);

ptime = 0;

播放按鈕as:

on(release){

mysound.start(ptime);

}

暫停按鈕as:

on(release){

ptime = mysound.position/1000;

mysound.stop();

}

*/

java中我想實(shí)現(xiàn)用按鈕來控制音樂播放與停止 下面是我的代碼 但實(shí)現(xiàn)不了播放和停止 誰能幫我解決一下嗎?

我?guī)湍惆殉绦蚋耐炅?,可以?shí)現(xiàn)用按鈕來控制音樂播放與停止了,你看看吧。

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.net.URI;

import java.net.URL;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class f extends JFrame implements ActionListener {

private static final String AudioClip = null;

private JButton Oj;

private JButton Oj1;

AudioClip clip =null;

File musicFile;

URI uri;

URL url;

private void f() throws InterruptedException{

musicFile = new File("E:\\JAVA\\new1\\celine dion - falling into you.wav");

uri = musicFile.toURI();

try {

url = uri.toURL();

} catch (Exception e) {

}

clip=Applet.newAudioClip(url);

//clip.play();

}

f() {

this.setSize(800, 600);

this.setResizable(false);

JPanel p = new JPanel();

this.setContentPane(p);

this.setVisible(true);

Oj = new JButton("開始");

Oj1 = new JButton("結(jié)束");

this.setVisible(true);

Oj.addActionListener(this);

Oj1.addActionListener(this);

this.add(Oj);

this.add(Oj1);

}

public static void main(String[] args) throws InterruptedException {

f ff=new f();

ff.f();

}

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if (e.getSource() == Oj) {

System.out.println("進(jìn)入游戲界面");

play();

} else if (e.getSource() == Oj1) {

System.out.println("退出游戲");

stop();

//System.exit(0);

}

}

public void play() {

if (clip != null)

( (java.applet.AudioClip) clip).play();

}

public void stop() {

if (clip != null)

( (java.applet.AudioClip) clip).stop();

}

}

給java程序加背景音樂的代碼~

一樓的回答說對了一部分,主要還是多線程的問題.

我的畢業(yè)設(shè)計(jì)也是做的一個小游戲程序--坦克大戰(zhàn),當(dāng)初游戲邏輯界面都完成了想加入音頻的時(shí)候也遇到了困難,最開始想到了多線程處理,也就是自身游戲的繪圖線程占用著主線程,如果此時(shí)再在同一線程播放音頻的話肯定會造成音頻流或者繪圖類paint阻塞,所以這時(shí)要為音頻加入一個單獨(dú)額外的線程,已達(dá)到避免線程阻塞的作用.

但是此時(shí)還是會出現(xiàn)音頻不流暢的情況(當(dāng)然,大多情況是出現(xiàn)短暫音效后便消失),主要問題在于Java在利用線程讀取音頻的時(shí)候,是通過流的方式讀取的,此時(shí)可以考慮在程序加載之前先“預(yù)載”一次音頻,當(dāng)需要的時(shí)候再調(diào)用它的播放線程,利用流處理.這么做的好處是將音頻存放在內(nèi)存中,當(dāng)需要的時(shí)候能正常的出現(xiàn).當(dāng)然,后面這段情況是在你運(yùn)用到了多線程的時(shí)候才會出現(xiàn)的。

找了下畢設(shè)時(shí)的代碼,如下:

/**

*該方法為音頻流緩沖方法,在調(diào)用音頻播放線程時(shí)調(diào)用

*/

public BufferedInputStream loadBomb(){

BufferedInputStream bufbomb = null;

try{

File dir = new File("D:/java/TankWar2.6/"); //所要播放文件的路徑

File fObject = new File(dir,"bomb.wav"); //音頻名

FileInputStream file = new FileInputStream(fObject);

bufbomb = new BufferedInputStream(file);

}catch(IOException e) {

System.out.println(e.getMessage());

}

return bufbomb;

}

/**

* 緩沖完畢的核爆音頻播放線程

*/

private class BombMusic implements Runnable{ //通過流讀取聲音文件

BufferedInputStream buf;

public void run(){

buf = loadBomb();

try{

AudioStream audio = new AudioStream(buf);

AudioPlayer.player.start(audio);

}catch(IOException e){

e.printStackTrace();

}

}

}

求一個JAVA音樂播放器的源代碼

import javax.media.ControllerEvent;

import javax.media.ControllerListener;

import javax.media.EndOfMediaEvent;

import javax.media.PrefetchCompleteEvent;

import javax.media.RealizeCompleteEvent;

import javax.media.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class MediaPlayer extends JFrame implements ActionListener,

ItemListener, ControllerListener {

String title;

Player player;

boolean first = true, loop = false;

Component vc, cc;

String currentDirectory=null;

// 構(gòu)造函數(shù),其中包括了設(shè)置響應(yīng)窗口事件的監(jiān)聽器。

MediaPlayer(String title) {

super(title);

/* 關(guān)閉按鈕的實(shí)現(xiàn)。。 */

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose();

}

public void windowClosed(WindowEvent e) {

if (player != null)

player.close();

System.exit(0);

}

});

// 調(diào)用程序菜單欄的方法成員完成菜單的布置

setupMenu();

setSize(400, 400);

setVisible(true);

}

// 本方法用以設(shè)置程序菜單欄

public void setupMenu() {

// 設(shè)置一個菜單

Menu f = new Menu("文件");

// 往設(shè)置的菜單添加菜單項(xiàng)

MenuItem mi = new MenuItem("打開");

f.add(mi);

mi.addActionListener(this);

f.addSeparator();

CheckboxMenuItem cbmi = new CheckboxMenuItem("循環(huán)", false);

cbmi.addActionListener(this);

f.add(cbmi);

f.addSeparator();

MenuItem ee = new MenuItem("退出");

ee.addActionListener(this);

f.add(ee);

f.addSeparator();

Menu l = new Menu("播放列表");

Menu c = new Menu("播放控制");

MenuItem move = new MenuItem("播放");

move.addActionListener(this);

c.add(move);

c.addSeparator();

MenuItem pause = new MenuItem("暫停");

pause.addActionListener(this);

c.add(pause);

c.addSeparator();

MenuItem stop = new MenuItem("停止");

stop.addActionListener(this);

c.add(stop);

c.addSeparator();

// 設(shè)置一個菜單欄

MenuBar mb = new MenuBar();

mb.add(f);

mb.add?;

mb.add(l);

// 將構(gòu)造完成的菜單欄交給當(dāng)前程序的窗口;

setMenuBar(mb);

}

// 動作時(shí)間響應(yīng)成員;捕捉發(fā)送到本對象的各種事件;

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

String cufile, selectfile, currentDirectory;

if (e.getActionCommand().equals("退出")) {

// 調(diào)用dispose以便執(zhí)行windowClosed

dispose();

return;

}

// 此事表明擁護(hù)選擇了“播放”命令;

// 如果當(dāng)前有一個文件可以播放則執(zhí)行播放命令;

if (e.getActionCommand().equals("播放")) {

if (player != null) {

player.start();

}

return;

}

// 如果當(dāng)前正在播放某一文件,則執(zhí)行暫停;

if (e.getActionCommand().equals("暫停")) {

if (player != null) {

player.stop();

}

return;

}

// 停止命令的響應(yīng);

if (e.getActionCommand().equals("停止")) {

if (player != null) {

player.stop();

player.setMediaTime(new Time(0));

}

return;

}

// 用戶選擇要播放的媒體文件

if (e.getActionCommand().equals("打開")) {

FileDialog fd = new FileDialog(this, "打開媒體文件", FileDialog.LOAD);

// fd.setDirectory(currentDirectory);

2008-2-6 02:46 回復(fù)

肆方茉莉

62位粉絲

6樓

fd.setVisible(true);

// 如果用戶放棄選擇文件,則返回

if (fd.getFile() == null) {

return;

}

// 保存了所選文件的名稱及其路徑名稱已被稍后使用

// 同時(shí)設(shè)置當(dāng)前文件夾路徑

selectfile = fd.getFile();

currentDirectory = fd.getDirectory();

cufile = currentDirectory + selectfile;

// 將用戶選擇的文件作為一個菜單項(xiàng)加入播放列表,該菜單項(xiàng)名為該文件名;

// 被點(diǎn)擊后給出的命令串是該文件的全路徑名

MenuItem mi = new MenuItem(selectfile);

mi.setActionCommand(cufile);

MenuBar mb = getMenuBar();

Menu m = mb.getMenu(2);

mi.addActionListener(this);

m.add(mi);

} else {

// 程序邏輯運(yùn)行到次表示用戶選擇了一個“播放列表”中的媒體文件

// 此時(shí)可以通過如下動作獲得該文件的全路徑名

cufile = e.getActionCommand();

selectfile = cufile;

}

// 如果存在一個播放器,則先將其關(guān)閉,稍后再重新創(chuàng)建

// 創(chuàng)建播放器時(shí)需要捕捉一些異常

if (player != null) {

player.close();

}

try {

player = Manager.createPlayer(new MediaLocator("file:" + cufile));

} catch (Exception e2) {

System.out.println(e2);

return;

}/*

* catch(NoPlayerException e2){ System.out.println("不能找到播放器");

* return ; }

*/

if (player == null) {

System.out.println("無法創(chuàng)建播放器");

return;

}

first = false;

setTitle(selectfile);

// 設(shè)置處理播放控制器實(shí)際的對象;

/**/

player.addControllerListener(this);

player.prefetch();

}

// 菜單狀態(tài)改變事件的響應(yīng)函數(shù);

public void itemStateChanged(ItemEvent arg0) {

// TODO Auto-generated method stub

}

public static void main(String[] args) {

// TODO Auto-generated method stub

new MediaPlayer("播放器");

}

// 調(diào)用繪圖函數(shù)進(jìn)行界面的繪制 // public void update() {

// }

// 繪圖函數(shù)成員 //public void paint(Graphics g) {

// }

public void controllerUpdate(ControllerEvent e) {

// TODO Auto-generated method stub

Container tainer = getContentPane();

// 調(diào)用player.close()時(shí)ControllerClosedEvent事件出現(xiàn)

// 如果存在視覺部件,則該部件應(yīng)該拆除(為了一致起見,我們對控制面版部件也執(zhí)行同樣的操作,下一次需要時(shí)再構(gòu)造)

if (e instanceof ControllerClosedEvent) {

if (vc != null) {

remove(vc);

vc = null;

}

if (cc != null) {

remove(cc);

cc = null;

}

}

// 播放結(jié)束時(shí),將播放指針置于文件之首,如果設(shè)定了循環(huán)播放,則再次啟動播放器;

if (e instanceof EndOfMediaEvent) {

player.setMediaTime(new Time(0));

if (loop) {

player.start();

}

return;

}

// PrefetchCompletEvent事件發(fā)生后調(diào)用start,正式啟動播放

if (e instanceof PrefetchCompleteEvent) {

player.start();

return;

}

// 本事件表示由于播放的資源已經(jīng)確定;此時(shí)要將媒體的圖形conmopnent

// 如果有顯示出來,同時(shí)將播放器player的控制顯示到窗口里;

if (e instanceof RealizeCompleteEvent) {

// 如果媒體中有圖像,將對應(yīng)圖像component載入窗體;

vc = player.getVisualComponent();

if (vc != null)

tainer.add(vc, BorderLayout.CENTER);

// 將對應(yīng)控制器component載入窗體;

cc = player.getControlPanelComponent();

cc.setBackground(Color.blue);

if (cc != null)

tainer.add(cc, BorderLayout.SOUTH);

// 有一些特殊媒體在播放時(shí)提供另外的控制手段,將控制器一并加入窗口;

/*

* gc=player.getGainControl(); gcc=gc.getControlComponent();

* if(gcc!=null) tainer.add(gcc,BorderLayout.NORTH);

*/

// 根據(jù)媒體文件中是否有圖像,設(shè)定相應(yīng)的窗口大小

if (vc != null) {

pack();

return;

} else {

setSize(300, 75);

setVisible(true);

return;

}

}

} }

Java怎么實(shí)現(xiàn)音樂播放

java swt實(shí)現(xiàn)播放音樂代碼如下:

public void play(String Filename)

{

try{

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

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

// 從輸入流中創(chuàng)建一個AudioStream對象

AudioStream as = new AudioStream(in);

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

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

//如果要實(shí)現(xiàn)循環(huán)播放,則用下面的三句取代上面的“AudioPlayer.player.start(as);”這句

/*AudioData data = as.getData();

ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data);

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

*/

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

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

*/

} catch(FileNotFoundException e){

System.out.print("FileNotFoundException ");

} catch(IOException e){

System.out.print("有錯誤!");

}

}


文章題目:JAVA音樂管理后端代碼 java音樂管理后端代碼是什么
標(biāo)題網(wǎng)址:http://weahome.cn/article/dosscds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部