java 播放音频

本文介绍Java播放音乐的方法,包括使用JavaSoundAPI支持的格式如AIFF、AU、WAV及MIDI等,同时探讨通过JavaMusicFramework和第三方库JLayer播放MP3文件的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.jsresources.org/examples/

 

http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo/

 

 

timeSeries设置一个元素过期周期,  不然程序会卡死

timeSeries.setMaximumItemAge(long periods)!!!

 

下面的文章 来源于

http://www.zhlwish.com/2011/07/21/java-play-music/

Java播放音乐比较麻烦,主要原因是Java的跨平台导致。Java的播放音乐的API主要包括两部分,一是Java SE里面包含的Java Sound API,二是作为独立于Java SE之外的Java Music Framework。两者的主要差别在于所支持的声音文件格式不同。

本文只是对相关技术进行了简单罗列,收集了相关的链接地址,需要深入了解请进入相关链接深入阅读。

Java平台提供的sound API
支持的音频文件格式只有AIFF,AU,WAV
支持的音乐文件格式有MIDI,RMF(Rich Music Format)
声音格式:8位和16位单声道以及立体声音频数据,采样率在8khz和48khz之间

使用第三方的库播放MP3格式的音乐
How to Play an MP3 File in Java:JLayer MP3 Library

使用Java Music Framework播放MP3格式的音乐

  1. Java Game Programming: Playing Sound:该文中介绍了如何使用Java Media Framework播放MP3格式的音乐
  2. JMF主页
  3. JMF现在的最新版本为2.0,API下载地址

JMF播放MP3示例代码:请把音乐放到Eclipse工程目录的跟目录下(和src目录同级别)

package com.zhlwish.javasound;
 
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.media.*;
 
public class Main {
 
    private Player player;
 
    public static void main(String[] args){
        Main m = new Main();
        m.play("可惜不是你.mp3");
    }
 
    public void play(String fileName) {
        try {
            File file = new File(fileName);
            URL url = file.toURI().toURL();
            MediaLocator locator = new MediaLocator(url);
            player = Manager.createPlayer(locator);
            player.addControllerListener(new ControllerListener() {
                public void controllerUpdate(ControllerEvent event) {
                    if (event instanceof EndOfMediaEvent) {
                        player.stop();
                        player.close();
                    }
                }
            });
            player.realize();
            player.start();
        } catch (NoPlayerException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
}

Java播放MIDI实例代码:

AudioPlayer mgp = AudioPlayer.player;
AudioStream bgm;
AudioData md;
ContinuousAudioDataStream loop = null;
 
try{
    bgm = new AudioStream(new FileInputStream());
    md = bgm.getData();
    loop = new ContinuousAudioDataStream (md);
}catch(Exception e){
    e.printStackTrace();
}
 
mgp.start(loop);

2011-7-28更新:

JMF在某些联想(Lenovo)的机器上安装失败,不清楚具体原因,而且JMF已经年久失修,不推荐使用。
最新推荐的是本文中曾提到,但是一笔带过的一个库(内疚中…),叫JLayer,里面自带两个后台播放器实现Player和AdvancedPlayer,具体的使用方法可以参考http://www.youtube.com/watch?v=f-7cgX_I220

我摘抄了部分代码如下:

File file = new File("xxx.mp3");
FileInputStream fInputStream = new FileInputStream(file);
Player p = new Player(fInputStream);
p.play();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值