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){}
}
}