java js前端请求后台去获得音频流,然后播放音乐,音乐可以控制进度,显示总时长

java js前端请求后台去获得音频流,然后播放音乐,音乐可以控制进度,显示总时长,第1张

AudioCLip主要的方法有:play()播放依次声音;loop()循环播放音乐;stop()停止播放。做法一:InputStreamis=null;AudioStreamas=null;is=getClass()getResourceAsStream("awav");try{as=newAudioStream(is);}catch(IOExceptione){}AudioPlayerplayerstart(as);此方法将音乐文件放入流中在播放,仅限于JavaApplication,容易报错,空指针异常,或者是流异常,不推荐。做法二:Stringmusic="awav";AudioClipclip=AppletnewAudioClip(getClass()getResource(music));次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。推荐做法:privateURLurl;privateAudioClipac;Filef1=newFile("C:/3wav");try{url=f1toURL();}catch(MalformedURLExceptione){//TODOAuto-generatedcatchblockeprintStackTrace();}ac=AppletnewAudioClip(cb1);acplay();

java获取当前时间精确到毫秒
 
new SimpleDateFormat("yyyyMMddHHmmssSSS") format(new Date() );
方法2:
Calendar Cld = CalendargetInstance();
int YY = Cldget(CalendarYEAR) ;
int MM = Cldget(CalendarMONTH)+1;
int DD = Cldget(CalendarDATE);
int HH = Cldget(CalendarHOUR_OF_DAY);
int mm = Cldget(CalendarMINUTE);
int SS = Cldget(CalendarSECOND);
int MI = Cldget(CalendarMILLISECOND);
String curTime = YY + MM + DD + HH + mm + SS + MI;
 
Calendar cal = CalendargetInstance();
javautilDate date = calgetTime();
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyyMMddhhmmssSSS");
String myTime = sdFormatformat(currentTime);

今天在测试同事的微信平台的发送语音的时候,发现有时候语音能发过来,有时候就不行,经过检查,发现丢掉了检测音频时长(微信里面语言时长要限定在60S内),好吧,我补上,闲着也是闲着~
首先是读取语音的时长:
<span style="font-size:14px;"> /// <summary>
/// 获取上传音频的时间长度
/// </summary>
/// <param name="strFullUrl">The STR full URL</param>
/// <returns>SystemString</returns>
/// <remarks>Editor:v-liuhch CreateTime:2015/5/15 17:32:57</remarks>
public string GetLocalVoiceTotalTime(string strFullUrl)
{

ShellClass sh = new ShellClass();
Folder dir = shNameSpace(PathGetDirectoryName(strFullUrl));
FolderItem item = dirParseName(PathGetFileName(strFullUrl));
return dirGetDetailsOf(item, 27); // 获取歌曲时长。

}</span>
使用shellclass的时候要先引用COM组件Microsoft Shell Controls And Automation,并将Embed Interop Type 设为False。
由于上述函数只支持读取本地文件,所以,我们将得到的文件先放在临时文件夹中,判断完成之后立即删除。
<span style="font-size:14px;">/// <summary>
/// 检查上传音频文件的总时间长度是否小于60s
/// </summary>
/// <param name="file">The file</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
/// <remarks>Editor:v-liuhch CreateTime:2015/5/15 17:34:51</remarks>
public bool ChkVideoTotalTime(>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13358145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存