JavaWeb項目音頻資源播放實現(xiàn)方法詳解
更新時間:2019年10月11日 10:21:21 作者:德邦總管
這篇文章主要介紹了JavaWeb項目音頻資源播放實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
一、方式1:登陸系統(tǒng)后進行播放,即在瀏覽器端
需要在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腳本里調(diào)用
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"); //創(chuàng)建音頻播放類 final AudioClip audioClass=Applet.newAudioClip(audioUrl); audioClass.loop(); //new一個線程執(zhí)行停止播放 TimerTask task = new TimerTask() { @Override public void run() { audioClass.stop(); } }; //new一個定時器,指定播放若干秒后執(zhí)行停止播放 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");<br>Clip clip = AudioSystem.getClip(); AudioInputStream ais = AudioSystem.getAudioInputStream(file); clip.open(ais);<br>//得到的時間為微秒(μs),除以1000得到毫秒(ms)數(shù) System.out.println(clip.getMicrosecondLength()/1000);
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot2基于重復創(chuàng)建bean的問題及解決
這篇文章主要介紹了SpringBoot2基于重復創(chuàng)建bean的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06SpringBoot中利用@Valid和@Validated進行參數(shù)校驗
為了保證數(shù)據(jù)的正確性、完整性,前后端都需要進行數(shù)據(jù)檢驗,作為一名后端開發(fā)工程師,不能僅僅依靠前端來校驗數(shù)據(jù),我們還需要對接口請求的參數(shù)進行后端的校驗,所以本文給大家介紹了SpringBoot中利用@Valid和@Validated進行參數(shù)校驗,需要的朋友可以參考下2024-09-09Java二維碼登錄流程實現(xiàn)代碼(包含短地址生成,含部分代碼)
近年來,二維碼的使用越來越風生水起,本篇文章主要介紹了Java二維碼登錄流程實現(xiàn)代碼,其中包含短地址生成,有興趣的可以了解一下。2016-12-12