bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

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

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

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

公司2013年成立成都創新互聯公司專注于”幫助中小企業+互聯網”, 也是目前成都地區具有實力的互聯網服務商。團隊致力于為企業提供--站式網站建設、移動端應用( H5手機營銷、app軟件開發公司、微信開發)、軟件開發、信息化解決方案等服務。

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應用程序中播放音頻文件

在?applet?中播放聲音文件非常簡單,一般需要以下步驟:創建一個?AudioClip?對象

裝入?.au?聲音文件到?AudioClip?對象

一次播放或者不停循環播放聲音

停止播放

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

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

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

解決這個問題的竅門是利用由?Sun?及?其JDK?提供的某些?undocumented?的特征。先看看?Sun?JDK?中的文件?classes.zip?(使用任何解壓工具即可),發現其中不僅包含標準的?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);如果要用一個?URL?做為聲音流的源(source),則用下面的代碼所示替換輸入流來創建聲音流:AudioStream?as?=?new?AudioStream?(url.openStream());如果需要持續播放聲音文件,則要稍稍復雜一點://?Create?audio?stream?as?discussed?previously.

//?Create?AudioData?source.

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

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

java怎樣播放聲音文件?

//給你個例子

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 音樂播放的代碼啊,完美運行的就行

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; //循環播放

private JButton buttinzi=null; //停止

private JButton butshan=null; //上一首

private JButton butzhantin=null; //暫停

private JButton butxia=null; //下一首

private TrayIcon trayIcon;//托盤圖標

private SystemTray systemTray;//系統托盤

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("精忠報國");

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("循環播放");

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();//獲得系統托盤的實例

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

try {

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

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

}

catch (IOException e1)

{

e1.printStackTrace();

}

catch (AWTException e2)

{

e2.printStackTrace();

}

this.addWindowListener(

new WindowAdapter(){

public void windowIconified(WindowEvent e)

{

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

}

});

trayIcon.addMouseListener(new MouseAdapter()

{

public void mouseClicked(MouseEvent e){

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

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

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

er.printStackTrace();

} catch(Exception ex){

ex.printStackTrace();

}

looping = true;

chosenClip.loop();

butboxhuan.setEnabled(false);

buttinzi.setEnabled(true);

butzhantin.setText("暫停");

this.setTitle("正在循環播放"+(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("繼續");

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

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

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

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

void play(URL url)

void play(URL url, String name)

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

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

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

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

import java.applet.AudioClip;

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

AudioClip getAudioClip(URL url)

AudioClip getAudioClip(URL url, String name)

得到AudioClip對象以后,就可以調用AudioClip類中所提供的各種方法來操作其中的聲音數據,這些方法如表4-4所示。

如果getAudioClip( )方法沒有找到所指定的聲音文件,就會返回null值。所以,在調用表4-4中所列的方法前,應該先檢查一下得到的AudioClip對象不是null,因為在null對象上調用上述方法將導致出錯。

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

例如,下面這段程序將播放兩段聲音,一段是連續播放的背景音樂,另一段是講話錄音。

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(); //關閉背景音樂,切記。

}

}

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

//

獲取音頻編碼對象

AudioFormat audioFormat = audioInputStream.getFormat();

// 設置數據輸入

DataLine.Info dataLineInfo = new

DataLine.Info(SourceDataLine.class,

audioFormat,

AudioSystem.NOT_SPECIFIED);

SourceDataLine sourceDataLine =

(SourceDataLine)

AudioSystem

.getLine(dataLineInfo);

sourceDataLine.open(audioFormat);

sourceDataLine.start();

/*

* 從輸入流中讀取數據發送到混音器

*/

int count;

byte tempBuffer[]

= new byte[1024];

while ((count = audioInputStream.read(tempBuffer, 0,

tempBuffer.length)) != -1) {

if (count 0)

{

sourceDataLine.write(tempBuffer, 0, count);

}

}

//

清空數據緩沖,并關閉輸入

sourceDataLine.drain();

sourceDataLine.close();

}

}

java編程中怎樣播放聲音

哈哈 我剛剛做好了一個俄羅斯方塊

如果有興趣交流下 可聯系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.*;

網頁名稱:java播放聲音的代碼 java 音頻播放
新聞來源:http://vcdvsql.cn/article26/hhppjg.html

成都網站建設公司_創新互聯,為您提供建站公司網站策劃網站營銷App設計GoogleApp開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發