孙志岗开发的一个开放源代码软件,采用GPL协议。它的设计目标是开发一个极其简单、直观的Win32平台下的图形动画函数库,C语言的初学者可以使用它开发动画、游戏等图形程序,让C语言的学习过程变得更有趣,更有成就感。有关Egg的详细介绍,可以访问Egg的主页:
http://egg.sunner.cn/
今天在测试同事的微信平台的发送语音的时候,发现有时候语音能发过来,有时候就不行,经过检查,发现丢掉了检测音频时长(微信里面语言时长要限定在60S内),好吧,我补上,闲着也是闲着~首先是读取语音的时长:
<span style="font-size:14px">/// <summary>
/// 获取上传音频的时间长度
/// </summary>
/// <param name="strFullUrl">The STR full URL.</param>
/// <returns>System.String.</returns>
/// <remarks>Editor:v-liuhch CreateTime:2015/5/15 17:32:57</remarks>
public string GetLocalVoiceTotalTime(string strFullUrl)
{
ShellClass sh = new ShellClass()
Folder dir = sh.NameSpace(Path.GetDirectoryName(strFullUrl))
FolderItem item = dir.ParseName(Path.GetFileName(strFullUrl))
return dir.GetDetailsOf(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(HttpPostedFile file)
{
string strTempUrl = Path.GetTempPath() + DateTime.Now.ToString("yyyyMMddHHmmssfff").ToString() + Path.GetExtension(file.FileName)
file.SaveAs(strTempUrl)//保存到本地临时文件夹
try
{
string strTotalTime = GetLocalVoiceTotalTime(strTempUrl) //获取文件时长
return (Convert.ToDateTime(strTotalTime) - Convert.ToDateTime("00:01:00")).Seconds >0 ? false : true
}
catch (Exception)
{ return false}
finally { System.IO.File.Delete(strTempUrl)}//删除临时文件
}
</span>
之后,在处理文件之前加入如下判断就ok了:
<span style="font-size:14px"> if (int.TryParse(HttpContext.Current.Request.QueryString["MaterialVoice"], out MaterialVoice))//如果是素材里面上传音频的话
{
if (!ChkVideoTotalTime(files[0]))
{
return strRequest = "errorTime" //如果超过60s
}
}</span>
PS:别忘了前台验证。
打开CSDN APP,看更多技术内容
java获取amr格式语音长度
该java代码实现了将获取到的语音计算出其长度,方便在页面上播放
最新发布 java获取音频时长(wav)
package com.xyz.common.utilsimport lombok.extern.slf4j.Slf4jimport javax.sound.sampled.*import java.io.Fileimport java.net.URL@Slf4j public class VoiceUtils { //获取时长 public static Long getVoiceLength(String wavFilePath) { //可以是本地
继续访问
微信开发之消息接收--语音消息(七)
一、消息格式 <xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>1357290913</CreateT...
继续访问
uni-app实战仿微信app开发
<div style="color:#444444">适用人群 </div><div><div style="color:#444444"><p style="color:#666666">具有Html+Css+JavaScript基础,有一定的Vue.js基础,挑战高薪职位 </p></div><div style="color:#444444">课程概述 <p>本季度为uni-app + egg.js 实战仿微信app和小程序全栈开发,开启纯nvue原生渲染,大大提高性能。一次开发,同时搞定Android、iOS和小程序端等。 </p><p>课程大纲见以下图! </p><p><img src="https://img-bss.csdn.net/202003071752171980.png" alt="" /><img src="https://img-bss.csdn.net/202003071752255131.png" alt="" /><img src="https://img-bss.csdn.net/202003071752382716.png" alt="" /><img src="https://img-bss.csdn.net/202003071752459844.png" alt="" /><img src="https://img-bss.csdn.net/202003071752516999.png" alt="" /></p></div></div>
继续访问
最新微信小程序获取音频时长与实时获取播放进度
#微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护。建议使用能力更强的 wx.createInnerAudioContext 接口 ##第一种方法 通过audio组件获取音频时长和实时播放进度 audio 有一个bindtimeupdate 属性 当播放进度改变时触发 timeupdate 事件,detail = {current...
继续访问
copy即用:MultipartFile 音频视频获取时长(时分秒)
三个步骤: 本地生成file文件 MultipartFile转为file,获取时长(毫秒),换算毫秒为时分秒 删除本地的file文件 导入maven,该jar包可能会自动下载失败,需手动下载的,请移步: CSDN下载:jave-1.0.2.jar --计算视频时长所必需的jar包 网盘下载:链接:https://pan.baidu.com/s/1eION3Z4mDi-Jo-v...
继续访问
关于微信开发的语音存储问题
微信开发的语音存储问题
继续访问
Android开发--仿微信语音对讲录音
自微信出现以来取得了很好的成绩,语音对讲的实现更加方便了人与人之间的交流。今天来实践一下微信的语音对讲的录音实现,这个也比较容易实现。在此,我将该按钮封装成为一个控件,并通过策略模式的方式实现录音和界面的解耦合,以方便我们在实际情况中对录音方法的不同需求(例如想要实现wav格式的编码时我们也就不能再使用MediaRecorder,而只能使用AudioRecord进行处理)。
继续访问
Java读取音频\视频时长 - JAVE
JAVE官网地址 JAVE(JAVA 一 UDIO VIDEO Encoder)库是在Java包装 ffmpeg的项目。开发人员可以利用JAVE将音频和视频文件从一种格式转码为另一种格式。在例子中,你可以转码的AVI文件到MPEG一个,你可以改变一个DivX视频流转换为(YouTube的等)的Flash FLV一个,你可以一个WAV音频文件转换成MP3或奥格Vorbis的一个,你可以分离和
继续访问
multipartfile 获取音频时长_我在音频平台日赚150元的正确打开方式。或许适合你...
听一本书,比看一本书让我们获取知识变得更加的容易和方便,随时随地都可以进行学习,不论是躺在床上,还是在开车都可以随时收听,音频不同于图文,我们不需要聚精会神的看,音频他特有的属性,能在各种场景中发挥最大的效果。有声阅读也成为了一个用户获取知识的渠道。小白 *** 作流程1.自己先注册账号,完善自己的账号信息,明确自己,你做什么产品,你就要卖什么服务。切记不要什么内容都讲,讲的越杂,收听的人越少,转换率越低...
继续访问
java获取网络音乐文件时长
java获取网络音乐文件时长,自己整理的三种方法
iOS 音频时长获取不正确
iOS 使用lame库将音频转化MP3会发现通过player获取时长与原文件时长不符,本文主要解决该问题
JAVA编程获取音频时长
具体代码如下: File source =new File('C:/Users/Qiang/Desktop/Alone.mp3')Encoder encoder = new Encoder()MultimediaInfo m = encoder.getInfo(source)long ls = m.getDuration()duration = ls/1000System.
继续访问
Android 仿微信语音,录音时间不能少于一秒,不超过一分钟,并且设置了录音倒计时提示等.rar
Android 仿微信语音,录音时间不能少于一秒,不超过一分钟,并且设置了录音倒计时提示等.rar [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
语音时长调整算法
关于语音时长调整的文档资源:基于混合域处理的快速WSola算法、基于语音分段的自适应时长调整算法、语音的时域压缩与扩展、语音时长调整快速算法
MultipartFile 视频获取时长(时分秒) VideoUtil.java
本地生成file文件 MultipartFile转为file,获取时长(毫秒),换算毫秒为时分秒 删除本地的file文件
热门推荐 java获取音频时长
下载 jave-1.0.2.jar http://pan.baidu.com/s/1nueaBjF File source =new File('d:\\test.mp3')Encoder encoder = new Encoder()MultimediaInfo m = encoder.getInfo(source)long ls = m.getDuration(
继续访问
微信小程序获取音频时长与实时获取播放进度问题
主要介绍了微信小程序获取音频时长与实时获取播放进度,文中给大家通过一个例子介绍了微信小程序音频长度获取的问题,感兴趣的朋友跟随脚本之家小编一起看看吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)