欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java播放聲音的代碼 java 音頻播放

如何用Java來編寫一個(gè)音樂播放器

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

公司2013年成立成都創(chuàng)新互聯(lián)公司專注于”幫助中小企業(yè)+互聯(lián)網(wǎng)”, 也是目前成都地區(qū)具有實(shí)力的互聯(lián)網(wǎng)服務(wù)商。團(tuán)隊(duì)致力于為企業(yè)提供--站式網(wǎng)站建設(shè)、移動(dòng)端應(yīng)用( H5手機(jī)營銷、app軟件開發(fā)公司、微信開發(fā))、軟件開發(fā)、信息化解決方案等服務(wù)。

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();

}

}

在程序中實(shí)例化這個(gè)類,啟動(dòng)線程,實(shí)例化的時(shí)候參照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應(yīng)用程序中播放音頻文件

在?applet?中播放聲音文件非常簡單,一般需要以下步驟:創(chuàng)建一個(gè)?AudioClip?對(duì)象

裝入?.au?聲音文件到?AudioClip?對(duì)象

一次播放或者不停循環(huán)播放聲音

停止播放

下面是相應(yīng)的代碼:import?java.applet.*;AudioClip?ac?=?getAudioClip(getCodeBase(),?soundFile);

ac.play();?//play?once

ac.stop();?//stop?playing

解決這個(gè)問題的竅門是利用由?Sun?及?其JDK?提供的某些?undocumented?的特征。先看看?Sun?JDK?中的文件?classes.zip?(使用任何解壓工具即可),發(fā)現(xiàn)其中不僅包含標(biāo)準(zhǔn)的?Java?包如?java.applet?而且還存在包?sun.audio.?(在?sun/audio?的目錄下.)

包?sun.audio?中包含了用于播放聲音文件所需的所有東西!下面是示例代碼:import?sun.audio.*;?//import?the?sun.audio?package

import?java.io.*;//**?add?this?into?your?application?code?as?appropriate//?Open?an?input?stream?to?the?audio?file.

InputStream?in?=?new?FileInputStream(Filename);//?Create?an?AudioStream?object?from?the?input?stream.

AudioStream?as?=?new?AudioStream(in);//?Use?the?static?class?member?"player"?from?class?AudioPlayer?to?play

//?clip.

AudioPlayer.player.start(as);//?Similarly,?to?stop?the?audio.

AudioPlayer.player.stop(as);如果要用一個(gè)?URL?做為聲音流的源(source),則用下面的代碼所示替換輸入流來創(chuàng)建聲音流:AudioStream?as?=?new?AudioStream?(url.openStream());如果需要持續(xù)播放聲音文件,則要稍稍復(fù)雜一點(diǎn)://?Create?audio?stream?as?discussed?previously.

//?Create?AudioData?source.

AudioData?data?=?as.getData();//?Create?ContinuousAudioDataStream.

ContinuousAudioDataStream?cas?=?new?ContinuousAudioDataStream?(data);//?Play?audio.

java怎樣播放聲音文件?

//給你個(gè)例子

import java.io.*;

import javax.sound.sampled.*;

import javax.swing.*;

public class Au extends JFrame

{

public static void main(String[] args) throws Exception

{

Au w=new Au();

w.loop();

}

void loop() throws Exception

{

//將f指定為聲音文件的文件名,聲音文件只能是WAVE、AU、AIFF、AIFC、SND格式的

final String f="s.wav";

Clip c=AudioSystem.getClip();

c.open(AudioSystem.getAudioInputStream(new File(f)));

c.loop(Clip.LOOP_CONTINUOUSLY);

}

Au()

{

setSize(400,300);

setLocationRelativeTo(null);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

}

跪求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如何播放聲音

對(duì)聲音媒體的直接支持可以說是Java的一大特色,尤其是在動(dòng)畫中配上聲音效果,就可以使人在視覺上和聽覺上均得到美的享受,那才叫過癮。Java中播放聲音文件與顯示圖像文件一樣方便,同樣只需要先將聲音文件裝載進(jìn)來,然后播放就行了。

Java目前支持的聲音文件只有一種格式,那就是SUN公司的AU格式(.AU文件),也稱為u-law格式。由于AU格式的聲音僅有8KHz的采樣頻率且不支持立體聲效果,所以音質(zhì)不算太好。唯一的好處就是AU聲音文件的尺寸比其它格式小,有利于網(wǎng)上傳輸。一般,我們較熟悉的大都是WAV格式的聲音文件,因此必須先將它們轉(zhuǎn)換為AU格式(可以選用Goldwave軟件來進(jìn)行這種格式轉(zhuǎn)換)。

聲音文件準(zhǔn)備好以后,就可以考慮將它裝載進(jìn)來并播放。在Applet類中提供的play( )方法可以將聲音文件的裝載與播放一并完成,其調(diào)用格式如下:

void play(URL url)

void play(URL url, String name)

可見,play( )方法的調(diào)用格式與getImage( )方法是完全一樣的,也采用URL來定位聲音文件。例如,某聲音文件audio.au與applet文件存放在同一目錄下,可以這樣寫:

play(getCodeBase( ),"audio.au");

一旦play( )方法裝載了該聲音文件,就立即播放。如果找不到指定URL下的聲音文件,play( )方法不返回出錯(cuò)信息,只是聽不到想聽的聲音而已。

由于play( )方法只能將聲音播放一遍,若想循環(huán)播放某聲音作為背景音樂,就需要用到功能更強(qiáng)大的AudioClip類,它能更有效地管理聲音的播放操作。因?yàn)樗欢x在java.applet程序包中,所以使用該類的話,不要忘了在程序頭部加上:

import java.applet.AudioClip;

為了得到AudioClip對(duì)象,我們可以調(diào)用Applet類中的getAudioClip( )方法。它能裝載指定URL的聲音文件,并返回一個(gè)AudioClip對(duì)象,其調(diào)用格式如下:

AudioClip getAudioClip(URL url)

AudioClip getAudioClip(URL url, String name)

得到AudioClip對(duì)象以后,就可以調(diào)用AudioClip類中所提供的各種方法來操作其中的聲音數(shù)據(jù),這些方法如表4-4所示。

如果getAudioClip( )方法沒有找到所指定的聲音文件,就會(huì)返回null值。所以,在調(diào)用表4-4中所列的方法前,應(yīng)該先檢查一下得到的AudioClip對(duì)象不是null,因?yàn)樵趎ull對(duì)象上調(diào)用上述方法將導(dǎo)致出錯(cuò)。

如果需要的話,我們還可以在applet中同時(shí)裝載幾個(gè)聲音文件來一起播放,到時(shí)候,這些聲音將混合在一起,就象二重奏一樣。另外還有一點(diǎn)要說明的是,如果我們使用AudioClip對(duì)象的loop( )方法來重復(fù)播放背景音樂時(shí),千萬不要忘記在適當(dāng)?shù)臅r(shí)候調(diào)用AudioClip對(duì)象的stop( )方法來結(jié)束放音,否則的話,即使用戶離開這一Web頁面,該聲音也不會(huì)停止,這無疑將會(huì)惹惱用戶。因此,一般我們都在applet的stop( )方法中添上停止播放的代碼。

例如,下面這段程序?qū)⒉シ艃啥温曇?,一段是連續(xù)播放的背景音樂,另一段是講話錄音。

import java.applet.AudioClip;

public class Audios extends java.applet.Applet{

AudioClip bgmusic,speak;

public void init(){

bgmusic=getAudioClip(getDocumentBase(),"space.au");

speak=getAudioClip(getDocumentBase(),"intro.au");

}

public void start(){

if(bgmusic!=null)

bgmusic.loop();

if(speak!=null)

speak.play();

}

public void stop(){

if(bgmusic!=null)

bgmusic.stop(); //關(guān)閉背景音樂,切記。

}

}

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();

}

}

java編程中怎樣播放聲音

哈哈 我剛剛做好了一個(gè)俄羅斯方塊

如果有興趣交流下 可聯(lián)系QQ 119508078

下面給你播放音樂的代碼

try {

FileInputStream fileau = new FileInputStream("Start.wav");

AudioStream as = new AudioStream(fileau);

AudioPlayer.player.start(as);

}

catch (IOException ie)

{ }

記得引入

import java.io.* ;

import sun.audio.*;

網(wǎng)頁名稱:java播放聲音的代碼 java 音頻播放
新聞來源:http://aaarwkj.com/article26/hhppjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站策劃網(wǎng)站營銷、App設(shè)計(jì)、GoogleApp開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
国产女同互慰一区二区| 国产精品亚洲av三区国产毛片| av在线中文字幕乱码| 色吊丝日韩在线观看| 亚洲精品成人免费电影| 免费av男人天堂亚洲天堂| 久久国产国内精品国语对白| 欧美一区二区高清不卡| 久久裸体国语精品国产91| 精品一区二区三区在线观看国产| 久久成人综合亚洲精品欧美| 动漫美女视频在线看黄| 亚洲成人av网址大全| 国产一级特黄大片特爽| 精品人妻一区二区av| 熟妇人妻久久中文字幕麻豆网| 99热视频这里只有精品| 免费观看国内性生活大片| 成人午夜福利视频大全| 欧美av一区二区三区四区| 欧美三级影院网上在线| 日韩欧美一区二区中文字幕视频| 五月婷婷av综合激情| 99亚洲综合一区二区三区| 日韩精选视频在线播放| 男女生做刺激性视频网站| 国产av剧情免费在线观看| 亚洲一区欧美日韩91| 日本亚洲精品在线观看| 午夜少妇福利在线观看| 久久精品国产亚洲av波多| 日韩av中文一区二区| 日韩黄色资源在线观看| 日韩欧美在线观看一区二区| 国产呦精品一区二区三区| 97在线视频这里只有精品| 国产无遮挡又黄又爽网站| 久久精品亚洲精品国产| 亚洲欧美另类重口国产| 亚洲成a人片777777久久| 熟年人妻一区二区三区|