java音頻文件
⑴ 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音頻文件的讀寫
Filefile=newFile("src.amr");
byte[]bts=newbyte[1024];
intlength=0;
try{
InputStreamstream=newFileInputStream(file);
OutputStreamos=newFileOutputStream(newFile("dest.amr"));
while((length=stream.read(bts))>0){
os.write(bts,0,length);
}
os.flush();
os.close();
stream.close();
}catch(Exceptione){
e.printStackTrace();
}
⑶ 用Java代碼能播放音頻文件嗎
可以實現,參考如下代碼:
packagecom.lolo;
importjava.io.File;
importjava.io.IOException;
importjavax.sound.sampled.AudioSystem;
importjavax.sound.sampled.LineUnavailableException;
importjavax.sound.sampled.UnsupportedAudioFileException;
importjavax.sound.sampled.AudioInputStream;
importjavax.sound.sampled.AudioFormat;
importjavax.sound.sampled.SourceDataLine;
importjavax.sound.sampled.DataLine;
publicclassPlayMusic{
//程序退出時執行的代碼
publicvoiddoShutDownWork(){
Runtime.getRuntime().addShutdownHook(newThread(){
publicvoidrun(){
try{
//Toolkit.getDefaultToolkit().beep();
Play();
Play();
}catch(Exceptionex){
}
}
});
}
//播放音頻文件
publicvoidPlay(){
Stringfileurl="file/tada.wav";
try{
AudioInputStreamais=AudioSystem.getAudioInputStream(newFile(fileurl));
AudioFormataif=ais.getFormat();
SourceDataLinesdl=null;
DataLine.Infoinfo=newDataLine.Info(SourceDataLine.class,aif);
sdl=(SourceDataLine)AudioSystem.getLine(info);
sdl.open(aif);
sdl.start();
//play
intnByte=0;
byte[]buffer=newbyte[128];
while(nByte!=-1){
nByte=ais.read(buffer,0,128);
if(nByte>=0){
intoByte=sdl.write(buffer,0,nByte);
//System.out.println(oByte);
}
}
sdl.stop();
}catch(){
e.printStackTrace();
}catch(IOExceptione){
//TODO自動產生catch區塊
e.printStackTrace();
}catch(LineUnavailableExceptione){
//TODO自動產生catch區塊
e.printStackTrace();
}
}
}
⑷ java播放音頻文件的問題
如果你的音頻文件和java文件(.java.class)在同一目錄下,那麼沒有問題。
⑸ 如何在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程序中如何插入音頻文件
在JAVA.applet中有AudioClip類支持播放,但好像只支持播放au和 wav格式的
代碼:
AudioClip ac=getAudioClip (getCodeBase(), File);
// 創 建Audioclip 對 象 並 裝 入.au 文 件
ac.play(); // 播 放 一 次
ac.stop(); // 停 止 播 放
ac.loop(); // 循 環 播 放
⑺ java中如何嵌入音頻文件
在JAVA.applet中有AudioClip類支持播放,但好像只支持播放au和 wav格式的
代碼:
AudioClip ac=getAudioClip (getCodeBase(), File);
// 創 建Audioclip 對 象 並 裝 入.au 文 件
ac.play(); // 播 放 一 次
ac.stop(); // 停 止 播 放
ac.loop(); // 循 環 播 放
⑻ java播放音頻文件的
我幫你把程序改了一下,你看看吧。
另外,你的music應該建在當前盤的根目錄下,Keepup.wav放在其中,因為你的路徑是/music/Keepup.wav。如果想放在當前項目中,需要把路徑改為music/Keepup.wav(去掉開頭的斜杠),這樣就可以在當前項目下建music目錄放Keepup.wav文件了。你把Keepup.wav放在了src目錄下面,新建了個文件夾叫music,它的路徑應該是src/music/Keepup.wav。
import java.applet.AudioClip;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JApplet;
public class RR {
RR(){
//URL mus=this.getClass().getResource("/music/Keepup.wav");
URL mus=null;
try {
mus = new File("src/music/Keepup.wav").toURI().toURL();
} catch (MalformedURLException e) {
e.printStackTrace();
}
AudioClip snd =JApplet.newAudioClip(mus);
snd.loop();
}
public static void main(String[] args) {
new RR();
}
}
⑼ java程序中如何播放音頻文件
import java.io.File;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.DataLine;
public class PlayMusic {
public static void main(String[] args){
PlayMusic.Play("F:\\ProProject\\Java\\ArixTetris\\src\\1.wav");
}
//播放音頻文件
public static void Play(String fileurl){
try{
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileurl));
AudioFormat aif = ais.getFormat();
SourceDataLine sdl = null;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, aif);
sdl = (SourceDataLine) AudioSystem.getLine(info);
sdl.open(aif);
sdl.start();
int nByte = 0;
byte[] buffer = new byte[128];
while (nByte != -1){
nByte = ais.read(buffer, 0, 128);
if (nByte >= 0){
sdl.write(buffer, 0, nByte);
}
}
sdl.stop();
}
catch (Exception e){}
}
}