十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
建议使用jmf(java media framwork),这样就能播放mp3等众多格式的音乐了;去sun官网下一个jmf,安装好后,把禅穗陵
成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十多年企业及个人网站建设经验 ,为成都近1000家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,高端网站设计,同时也为不同行业的客户提供网站制作、网站建设的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联公司。
jmf.jar包引入便可使用,给出例zi代码:使用方法:构造函数中传入文件路径名即可,播放、暂停、继续、停止等功能均已实现。
/*************************************************
* Subclass: MusicPlay
*************************************************/
public class MusicPlay implements Runnable {
private Time zeroTime = new Time(0);
private Player player;
private boolean isloop = false;
/*************************************************
* Function: MusicPlay Description: constructor, load the music file and
* get ready for play Called By: MultiMedia()
*************************************************/
// 实例化各个参数 filename 为文件族悉名,可为绝对路径
public MusicPlay(String filename) {
File file = new File(filename);
try {
player = Manager.createRealizedPlayer(file.toURI().toURL());
player.addControllerListener(new ControllListener());
} catch (NoPlayerException e) {
e.printStackTrace();
} catch (CannotRealizeException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/*************************************************
* Function: isRunning Description: test if this music is playing Called
* By:
*************************************************/
public boolean isRunning() {
return player.getState() == Player.Started;
}
/*************************************************
* Function: play Description: play the music for once Called By:
* resumeAll()
*************************************************/
/贺戚/ 只播放一次
public void play() {
if (!turnOff)
player.start();
}
/*************************************************
* Function: replay Description: replay the music Called By: musics that
* will be played many times will invoke this methed
*************************************************/
// 再播放一次
public void replay() {
if (turnOff)
return;
if (player.getState() == Controller.Prefetched)
player.setMediaTime(zeroTime);
player.start();
}
/*************************************************
* Function: stop Description: stop this music Called By: stopAll() of
* upper class,suspendAll() of upper
* class,BackroundForMenuPanel,GameOverPanel
*************************************************/
public void stop() {
player.stop();
}
/*************************************************
* Function: close Description: dispose the music Called By: closeAll()
* of super class
*************************************************/
public void close() {
player.stop();
player.close();
}
/*************************************************
* Function: loop Description: make the music played repetitiously
* Called By: music that will repetitious play
*************************************************/
// 循环播放
public void loop() {
if (turnOff)
return;
isloop = true;
player.prefetch();
replay();
}
/*************************************************
* Function: run Description: trig this music Called By: Override method
*************************************************/
@Override
public void run() {
loop();
}
/*************************************************
* Subclass: ControllListener Description: listener for playing and
* implement playing repetitiously
*************************************************/
// 通过对播放进度的监听,实现循环播放
private class ControllListener implements ControllerListener {
public void controllerUpdate(ControllerEvent e) {
if (e instanceof EndOfMediaEvent) {
if (isloop) {
player.setMediaTime(new Time(0));
player.start();
}
}
}
}
}
Tomcat 是一个 Java Servlet 容器,通常用于部署和运行 Java Web 应用程序。如果您需要在 Tomcat 上处理音频文件,可以使此返用 Java 音频库和相关 API 来实现。
在 Java 中,李袜处理音频文件可以使用 Java 音频库 (Java Sound API)。您可以使用 Java 音频库来读取和播放各种音频格式,包括 WAV 格式。以下是一个使用 Java 音频库读取 WAV 文件的示例代码:import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import java.io.File;
import java.io.IOException;
public class AudioPlayer {
public static void main(String[] args) {
try {
// 打开音频文件
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("audio.wav"));
DataLine.Info info = new DataLine.Info(Clip.class, audioInputStream.getFormat());
Clip clip = (Clip) AudioSystem.getLine(info);
// 播放音频文件
clip.open(audioInputStream);
clip.start();
// 等待音频播放完成
while (!clip.isRunning())
Thread.sleep(10);
while (clip.isRunning())
Thread.sleep(10);
// 关闭音频文件
clip.close();
audioInputStream.close();
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个示例代码将读取哪扒激名为 "audio.wav" 的 WAV 文件并将其播放。您可以根据自己的需要修改代码,例如将其嵌入到 Web 应用程序中以实现通过 Tomcat 来访问和播放音频文件。
import java.applet.Applet;
import java.applet.AudioClip;
import java点虐 .MalformedURLException;
public class MusicAudioClip {
AudioClip clip = null;
public AudioClip getAudioClip() {
return this.clip;
}
public void setAudioClip(AudioClip clip) {
this.clip = clip;
}
public void play() {//播放
if (getAudioClip() != null) {
getAudioClip().play();
}
}
public void loop() {//循环
if (getAudioClip() != null) {
getAudioClip().loop();
}
}
public void stop() {//停止
if (getAudioClip() != 槐消缺null) {
getAudioClip().stop();
}
}
public static void main(String[] 桥嫌args) {
MusicAudioClip mac = new MusicAudioClip();
try {
mac.setAudioClip(Applet
.newAudioClip((new java.io.File("music\\0.wav")).toURL()));//填写你自己的文铅辩件路径
} catch (MalformedURLException e) {
e.printStackTrace();
}
mac.loop();//循环播放
}
}