欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java音樂(lè)代碼大全 java音樂(lè)網(wǎng)站源碼

我想把我的java小程序中嵌入一個(gè)背景音樂(lè),寫(xiě)出添加背景音樂(lè)代碼。

放音樂(lè)的api網(wǎng)上查有很多,比如灶穗拆javax.sound.midi.*;

創(chuàng)新互聯(lián)科技有限公司專(zhuān)業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供四川服務(wù)器托管高防物理服務(wù)器租用,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。

支持midi,mid背景音樂(lè)的播放

public class Music implements MetaEventListener, Runnable{

private Sequence sequence = null;

private Sequencer sequencer;

private boolean isPlaying = false;

private volatile Thread thread;

public Music(){

}

public Music(String midifile){

try {

loadMidi(midifile);

} catch (IOException e) {

//族消 TODO Auto-generated catch block

e.printStackTrace();

} catch (InvalidMidiDataException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//導(dǎo)入midi文件到內(nèi)存中傳給Sequence對(duì)象,相當(dāng)與編碼器

public void loadMidi(String filename) throws IOException, InvalidMidiDataException{

sequence = MidiSystem.getSequence(this.getClass().getResourceAsStream(filename));

}

//隱棗播放方法

public void play(){

if(isPlaying){

return;

}

try {

sequencer = MidiSystem.getSequencer();

sequencer.open();

//用Sequencer對(duì)象把聲音文件序列解碼出來(lái)播放

sequencer.setSequence(sequence);

sequencer.addMetaEventListener(this);

//設(shè)置循環(huán)次數(shù),-1表示一直循環(huán)

sequencer.setLoopCount(-1);

sequencer.setLoopStartPoint(0);

sequencer.setLoopEndPoint(sequencer.getTickLength());

} catch (MidiUnavailableException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvalidMidiDataException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(thread == null){

thread = new Thread(this);

thread.start();

}

}

public void stop(){

if(isPlaying){

sequencer.stop();

isPlaying = false;

}

if(thread != null){

thread = null;

}

}

public void meta(MetaMessage meta) {

if(meta.getType() == 47){

System.out.println("Sequencer is done playing");

}

// TODO Auto-generated method stub

}

public void run() {

// TODO Auto-generated method stub

Thread current = Thread.currentThread();

while(current == thread !isPlaying){

sequencer.start();

isPlaying = true;

try {

thread.sleep(1001);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

//用起來(lái)也很方便

public static void main(String[] args){

Music music = new Music("a.mid");

music.play();

}

}

如果這樣寫(xiě)路徑類(lèi)要和音頻文件放在一個(gè)目錄下,如果你不想這樣,有兩種方法,一種是修改路徑字符串,另一種是把Class.getResourceAsStream方法改成new FileInputStream 這兩個(gè)方法加載資源的初始路徑不同,前者找class文件所在目錄,后者找project目錄

急!!!求Java音頻合成代碼或方法。實(shí)現(xiàn)兩個(gè)音頻的合成,wav格式的就行。mp3更好。

import javax.sound.sampled.*;

import java.io.*;

/**

* @author Hardneedl

*/

class WavReader {

public static void main(String[] args) throws IOException, UnsupportedAudioFileException {

FileInputStream fin = new FileInputStream(args[0]);

AudioInputStream ain = AudioSystem.getAudioInputStream(fin);

AudioFormat format=ain.getFormat();

}

}

關(guān)于Java音樂(lè)播放的問(wèn)題,出現(xiàn)下圖的情況如何解決

你使用了過(guò)時(shí)的類(lèi)調(diào)用了過(guò)時(shí)的方法. 已經(jīng)不被推薦使用, 所以eclipse會(huì)劃線提示.

以toURL() 為例 直接從File對(duì)象獲得鏈接, 但是toURL方法,不會(huì)對(duì)特殊字符編碼. 但是toURI方法會(huì)進(jìn)行編碼

所以現(xiàn)在一般的解決方彎橡案是 file.toURI().toURL();

解決辦法:使用javafx.scene.media.AudioClip ,?該類(lèi)功能簡(jiǎn)單: 播放和停止聲音 . 沒(méi)有暫停, 時(shí)間長(zhǎng)度,資料,均衡器等功能

參考代碼

import?java.io.File;

import?javafx.scene.media.AudioClip;?//?導(dǎo)包

public?class?TestAudioClip?{

public?static?void?main(String[]?args)?throws?Exception?{//拋出異常

AudioClip?audioClip=new?AudioClip(new?File("D:\\宣傳片音效.mp3").toURI().toURL().toString());

audioClip.play(0.8);//設(shè)置以80%的音量播放

//?設(shè)置一個(gè)循環(huán),保證播放完悄鬧慶了聲音才退出程序

while(true)?{

if(!audioClip.isPlaying())?{//如果停止了播放,就退出while循啟握環(huán)

break;

}

}

//while(audioClip.isPlaying())?{}?//這樣寫(xiě)更簡(jiǎn)潔

}

}

網(wǎng)站欄目:java音樂(lè)代碼大全 java音樂(lè)網(wǎng)站源碼
路徑分享:http://chinadenli.net/article46/dspjpeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站品牌網(wǎng)站制作定制開(kāi)發(fā)小程序開(kāi)發(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)