html如何控制音频反复播放,音频文件反复播放 - 三种方法

音频文件重复播放 - 三种方法

为了这个纠结了一个下午,现在总结一下我所知道的三种常用的播放音频的方法;

其中JDK本身自带的有两个,用JMF实现一个.

1.用  Applet 实现:(最简单的方法)

AudioClip player = Applet.newAudioClip(url);

AudioClip 介绍:

AudioClip 接口是用于播放音频剪辑的简单抽象。多个 AudioClip 项能够同时播放,

得到的声音混合在一起可产生合成声音。

重复播放:player.loop();//一句就搞定了

2.通过JDK自带的audio实现

sun.audio.AudioPlayer;//播放器

sun.audio.AudioStream;//音频流

do {

InputStream is = url.openStream();// 获得音乐文件的输入流

AudioStream as = new AudioStream(is);//创建音频 流

AudioPlayer.player.start(as);//开始播放

while(loop&&as.available() > 0 );//如果要实现重复,必须要停在这里,不然会一直只放开头,因为一直在重复读取

} while (loop);

3.通过JMF实现

Player player = Manager.createPlayer(url);//创建播放器对象

player.addControllerListener(new ControllerListener() {//加上对应的控制监听器

@Override

public void controllerUpdate(ControllerEvent e) {

// TODO Auto-generated method stub

if (e instanceof EndOfMediaEvent) {//如果播放到音频文件末尾,则再次开始播放

player.setMediaTime(new Time(0));

player.start();

}

if (e instanceof PrefetchCompleteEvent) {//Prefetch是指播放器的一种状态

player.start();

}

}

});

player.prefetch();//这个是用来触发上面监听器对应的第二种时间,以开始播放音频文件

JMF 工具包在下面的附件里,如果需要可以直接下载.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值