java js前端请求后台去获得音频流,然后播放音乐,音乐可以控制进度,显示总时长
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java js前端请求后台去获得音频流,然后播放音乐,音乐可以控制进度,显示总时长相关的知识,希望对你有一定的参考价值。
项目需要在js中去请求后台去获得音频流,然后播放音乐,音乐可以控制进度,显示总时长。前端播放音频的插件是JPlayer,请求到后台的sping controller中,得到了音频的字节流后,写出到前端,但是音乐进度和总时长都无法显示,想知道后台获取音频流后,还需要做什么设置,jplayer插件才能够显示进度和时长。
AudioCLip主要的方法有:play()播放依次声音;loop()循环播放音乐;stop()停止播放。做法一:InputStreamis=null;Audiostreamas=null;is=getClass().getResourceAsStream("a.wav");tryas=newAudioStream(is);catch(IOExceptione)AudioPlayer.player.start(as);此方法将音乐文件放入流中在播放,仅限于JavaApplication,容易报错,空指针异常,或者是流异常,不推荐。做法二:Stringmusic="a.wav";AudioClipclip=Applet.newAudioClip(getClass().getResource(music));次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。推荐做法:privateURLurl;privateAudioClipac;Filef1=newFile("C:/3.wav");tryurl=f1.toURL();catch(MalformedURLExceptione)//TODOAuto-generatedcatchblocke.printStackTrace();ac=Applet.newAudioClip(cb1);ac.play(); 参考技术A 可以将多个同name属性控件的值组合成一个json数组或数组字符串,传到java后台后再序列化成js 参考技术B 用个公共类中加个静态变量,一个不停修改数据,另一个不停查询数据显示。前台用个递归,到%终止就行 参考技术C 一般来说前后台的交互式不会设计成这样的,首先需要明确的是前后的交互在MVC里一种是后台直接刷新掉页面 参考技术D 前端设置一个定时器,定时去取最新的数据.把最新的数据据添加的显示容器(例如:div)的最顶端.在实时JavaScript - PC 端通过纯 js 播放音频文件(播放提示音)
你好,我是悦创。
前言
有时候,我们可能有这样一个需求,当到达条件时,网页会播放一个提示音告知用户。
实现
当然,你也可以写一个 标签,通过 js 获取 DOM,来操作。
// 创建<audio>标签(参数:音频文件路径)
const audio = new Audio(x.mp3);
// 业务逻辑
if(){
//...
// 播放声音
audio.play();
}
以上是关于java js前端请求后台去获得音频流,然后播放音乐,音乐可以控制进度,显示总时长的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript - PC 端通过纯 js 播放音频文件(播放提示音)