一、方式1:登陸系統后進行播放,即在瀏覽器端
需要在JSP頁面編寫相關代碼
<div id="midea" style="display: none;">
<object id='player' height='100' width='200' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<param name='AutoStart' value='0' />
<param name='Balance' value='0' />
<param name='enabled' value='-1' />
<param name='EnableContextMenu' value='-1' />
<param name='url' value='${pageContext.request.contextPath}/player/bestduanxin.wav' />
<param name='volume' value='100' />
<param name='uiMode' value='mini' />
</object>
</div>
在js腳本里調用
document.getElementById('player').controls.play();
setTimeout(stopPlayer,6000);
function stopPlayer(){
document.getElementById('player').controls.stop();
}
二、方式2:不用登陸即可播放,即在服務器端
需在java后台編寫相關代碼
import java.applet.Applet;
import java.applet.AudioClip;
import java.net.URL;
import java.util.Timer;
import java.util.TimerTask;
import javax.servlet.http.HttpServletRequest;
public class AudioPlayer {
public static void player(HttpServletRequest request){
URL audioUrl=null;
try {
//項目URL根路徑
String path = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
//音頻資源地址
audioUrl = new URL(path+"/player/bestduanxin.wav");
//創建音頻播放類
final AudioClip audioClass=Applet.newAudioClip(audioUrl);
audioClass.loop();
//new一個線程執行停止播放
TimerTask task = new TimerTask() {
@Override
public void run() {
audioClass.stop();
}
};
//new一個定時器,指定播放若干秒后執行停止播放
Timer timer = new Timer();
timer.schedule(task, GetPropertiesValue.getTimes()*GetPropertiesValue.getDuration());
} catch (Exception e) {
e.printStackTrace();
}
}
}
附獲取音頻文件時長的方法
File file = new File(url.substring(0, url.indexOf("WEB-INF"))+"player/bestduanxin.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
clip.open(ais);
//得到的時間為微秒(μs),除以1000得到毫秒(ms)數
System.out.println(clip.getMicrosecondLength()/1000);
