在SILK编码库的SDK内,test目录下,有一个Decoder.c文件,为解码的示例文件,编译后它能直接解码SILK格式的音频文件:SILK文件格式以"#!SILK_V3"开始,之后为一帧帧语音内容块,每帧帧长占两字节,后为帧内容,因为SILk编码是变长编码,所以每帧长度不同。
在各个test_vectors\bitstream目录下的.bit文件,即为SILK格式文件,可以被解漏闭码程序Decoder.c支持。解码程序将SILK文件解码为PCM流文件,但缺少WAV头,无法直接用播放器播放。如果需要使解码后的PCM流能够播放,则需要PCM流前面添加WAV头。
对微信语音短消息,WAV头赋值如下(pcmsize为PCM流的字节数):whead.DataLen = pcmsizememcpy(whead.Riff,"RIFF",4)memcpy(whead.Format,"WAVE",4)memcpy(whead.SubChunkID,"fmt ",4)memcpy(whead.Data,"data",4)whead.ChunkSize =whead.DataLen+44-8whead.SubChunkSize = 0x10whead.AudioFormat = 1whead.NumChannels = 1whead.SampleRate = DecControl.API_sampleRatewhead.BitsPerSample = 16whead.BlockAlign = whead.NumChannels*whead.BitsPerSample/8whead.ByteRate = whead.SampleRate*whead.BlockAlign
其中NumChannels、SampleRate和BitsPerSample等参数需要根据具体情况进行填充,否则,声音会很怪异。
在语音相关的协议还原中,经常会遇到语音凳闭编码的问题,通常语音编码的数据无法直接枣搜裂展示,需要转换成WAV,MP3等格式,才能播放。这个转换过程,是首先将音频编码数据使用对应解码库解码为PCM流,然后再将PCM流根据封装格式的要求,进行编码封装,最后得到可供通用播放器支持的编码和格式。
音频编码有很多,各有特色,本文首选介绍目前最流行的SILK编码。SILK编码最早在Skype中使用,它在编码效率和质量之间取得了很好的平衡,因此被广泛应用在互联网的音频相关产品中,目前广泛使用的是SILK V3。
腾讯系产品,包括QQ、微信、小程序,在语音相关的实现中,也大量使用到SILK编码,并且,部分功能是直接让未加密的语音流在网络中传输,这是协议还原很感兴趣的部分。毕竟,腾讯的产品防守相当严密,不宜突破。
你可以通过第三方开发商获取微信小程序,比如沈阳西里奥布科技有限公司。首先在微信公众平台官网首页点击右上角的“立即注册”按钮。
选择注册的帐号类型
选择“小程序”,点击“查看类型区别”可查看不同类型帐号的区别和优势。
填写邮箱和密码
请填写未注册过公众平台、开放平台、企业号、未绑定个人号的邮箱。
激活邮箱
登录邮箱,查收激活邮件,点击激活链接。
填写主体信息
点击激活链接后,继续下一步的注册流程。请选择主体类型选择,完善主体信息和管理员信息。
选择主体类型
主体类型说明如下:
帐号主体范围
企业企业、分支机构、企业相关品牌。
企业(个体工商户) 个体败芦工商户。
政府国内、各级、各类政府机构、事业单位、具有行政职能的社会组织等。目前主要覆盖公安机构、党团机构、司法机构、交通机构、旅游机构、工商税务机构、市政机构等。
媒体报纸、杂志、电视、电台、通讯社、其他等。
其他组织不属于政府、媒体、企业或个人的类型。
填写主体信息并选择验证方式
企业类型帐号可选择两种主体验证方式。
方式一:需要用公司的对公账户向腾讯公司打款察春带来验证主体身份。打款信息在提交主体信息后可以查看到。
方式二:通过微信认证验证主体身份,需支付300元认证费。认证通过前,小程序部分功能暂无法使用。
政府、媒体、其他组织类型帐号,必须通过微信认证验证主体身份。认证通过前,小程序部分功能暂无法使用。
微信认证入口:登录小程序 - 设置 - 微信认证详情
填写管理员信息
确认主体信息不可变更
点击确认完成注册流程
选择对公打款的用户,请根据页面提示,向指定的收款帐号汇入指定金额。注意:请在10天内完成森喊汇款,否则将注册失败
选择通过微信认证验证主体身份的用户,完成注册流程后请尽快进行微信认证,认证完成之前部分功能暂不可使用。
有了账号之后再进行开发就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)