java applet播放音乐_关于Java Audio:Java Audio-如何在游戏中播放歌曲(应用程序,而不是Applet)...

最后编辑-需要两个简单的答案。

1)我能够使代码与URL一起工作(这是来自以下响应之一的代码)。 但是我的歌在wav文件中。 当我尝试执行File url = new File(" ---");时,它不起作用。

相反,在堆栈跟踪中(感谢提示!),它说

"Failed to allocate clip data: Requested buffer too large"

我要播放的歌曲是techno,大约3分钟长。

如何解决剪辑数据大小问题?

另外,在这种情况下,文件是WAV还是MP3也有关系吗?

将所有捕获中的输出替换为堆栈跟踪,这比打印" F * CK"要有用得多。 如果使用WAV而不是MP3,则无需将mp3plugin.jar添加到运行时类路径。 J2SE开箱即用地支持大多数WAV。

Aaah ..我在等那个。 我的实验表明,Clip仅限于立体声,16位,44.1 KHz声音的一整秒。 这就是为什么我开发BigClip。 请参阅pscode.org/javadoc/org/pscode/xui/sound/bigclip/BigClip.html。 请注意,BigClip在循环中存在一个错误,我没有时间进行追踪。 如果您发现我出了问题,请提供修复程序。 ;)

查看Java Sound API中用于采样声音的类。 特别是Clip接口和AudioSystem类。

Java Sound使用SPI为J2SE内置的默认格式添加了对额外格式的支持。 您可以添加基于JMF的mp3plugin.jar来向JavaSound提供对MP3的支持。

要循环播放WAV,请参见此小示例。

import java.net.URL;

import javax.sound.sampled.*;

public class LoopSound {

public static void main(String[] args) throws Exception {

URL url = new URL(

"http://pscode.org/media/leftright.wav");

Clip clip = AudioSystem.getClip();

AudioInputStream ais = AudioSystem.

getAudioInputStream( url );

clip.open(ais);

clip.loop(5);

javax.swing.JOptionPane.showMessageDialog(null,"Close to exit!");

}

}

这对您的声音有用,但是当我使用文件时,它说" Clip没有分配所需的内存..."

查阅本教程,它展示了如何实现自己的读取-播放-播放循环并避免内存错误:

http://codeidol.com/java/swing/Audio/Play-Non-Trivial-Audio/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值