成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java發(fā)出聲音代碼 Java播放聲音

java播放聲音的例子怎么寫?

package tmp;

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),劍閣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:劍閣等地區(qū)。劍閣做網(wǎng)站價(jià)格咨詢:13518219792

import java.net.*;

import java.applet.*;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

public class Music

{

AudioClip m;

public Music()

{

try

{

m=Applet.newAudioClip(new URL("file:/e:/g.mid"));

}

catch(Exception e)

{

e.printStackTrace();

}

JFrame f = new JFrame("fjdk");

f.setSize(600, 400);

f.addWindowFocusListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

Container cp = f.getContentPane();

JButton bt1 = new JButton("play");

JButton bt2 = new JButton("stop");

bt1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

m.play();

}

});

bt2.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

m.stop();

}

});

cp.setLayout(new GridLayout(1, 2));

cp.add(bt1);

cp.add(bt2);

f.setVisible(true);

}

public static void main(String[] args){

new Music();

}

}

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頁(yè)面,該聲音也不會(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 播放 聲音

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\\明天會(huì)更好.wav");

AudioClip sound1;

AudioClip chosenClip;

JButton playButton = new JButton("播放");

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

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("內(nèi)存溢出");

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); //關(guān)閉窗口時(shí)退出程序

}

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("正在循環(huán)播放");

}

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

}

}

兄弟給分吧```

懸賞20?。?!JAVA—怎么弄一點(diǎn)聲音?

這你有兩個(gè)文件 需要注意 音樂的路徑 同時(shí)Java不支持MP3 格式的音樂

但支持wav,mid,au,aif.rfm.格式

第一個(gè) sound.java

代碼如下

import java.applet.*;

public class sound extends Applet{

AudioClip ac;

public void init(){

ac=getAudioClip(getCodeBase(),"音樂名稱.wav");

}

public void start(){

ac.loop();

}

public void stop(){

ac.stop();

}

}

第二個(gè)文件 sound.html

html

body

applet code="sound.class" height=500 width=500

/applet

/body

/html

分享名稱:java發(fā)出聲音代碼 Java播放聲音
文章分享:http://jinyejixie.com/article28/dodopjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器Google、靜態(tài)網(wǎng)站網(wǎng)站策劃、品牌網(wǎng)站建設(shè)、商城網(wǎng)站

廣告

聲明:本網(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)

外貿(mào)網(wǎng)站制作
睢宁县| 长兴县| 怀安县| 香港| 凌海市| 阜南县| 蓝山县| 鲜城| 芦山县| 绥棱县| 芦溪县| 庐江县| 高淳县| 邢台市| 克什克腾旗| 南漳县| 门头沟区| 迁西县| 张掖市| 永春县| 额尔古纳市| 黔西| 沅江市| 民勤县| 建昌县| 大理市| 无极县| 杭州市| 洛阳市| 那曲县| 高陵县| 报价| 西乌珠穆沁旗| 肥乡县| 桐庐县| 灵璧县| 镶黄旗| 上高县| 龙口市| 汉川市| 天台县|