首页 > 工艺 > 问答 > g711,G711对比G721对比G722哪个好

g711,G711对比G721对比G722哪个好

来源:整理 时间:2022-12-26 06:42:36 编辑:手表大全 手机版

本文目录一览

1,G711对比G721对比G722哪个好

应该是越新的版本占用越多。当然如果优化过就难说……但同系列的因为要往前兼容,使用一般后面的型号都比前面的占用大点……不过应该不会很明显

G711对比G721对比G722哪个好

2,g711智选商城靠谱吗

比较正规,母公司是国外贸易,前段时间还收购了素沐SUMUMAN。实力应该还是比较强的呢。
我是来看评论的

g711智选商城靠谱吗

3,g711与PCM转换是可逆的吗

Windows的Convert工具可以把PCM音频格式的文件转换成Microsoft的WAV格式的文件。
问度娘

g711与PCM转换是可逆的吗

4,听说EVi易汇环球集团很有实力旗下的g711智选商城怎么样呢 搜

EVi易汇环球是集美国及加拿大资金的集团,旗下子公司十余个,实力也是不小的。国内的素沐和g711智选商城都是其旗下的。
虽然我很聪明,但这么说真的难到我了

5,g711智选商城隶属的易汇环球集团这个企业大吗

易汇环球集团确实是大企业。公司数量和分布的区域来看都是属于规模较大的企业。
evi易汇环球是集美国及加拿大资金的集团,旗下子公司十余个,实力也是不小的。国内的素沐和g711智选商城都是其旗下的。

6,g711音频如何解码

建议楼主去百度一下ffmpeg,G711的解码方案也在其中。摘抄部分内容如下: FFmpeg实现的其它音频视频编码: ...... ITU-T vocoder standards: G.711 μ-law, G.711 A-law, G.722.2 (aka AMR-WB. supports via OpenCORE) and G.726
这是很久的代码了,有点忘记了,给你参考下。 public final static string tag = "defaulttalkbacksession"; talkbacksession session; codeclibobj obj; private blockingqueueinputqueue = new linkedblockingqueue(); @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); try { session = new defaulttalkbacksession("192.168.78.65",15528); obj = session.codecabilityquery(); if (obj != null) { session.startlivelistening(new talkbacksession.onaudiodatareceivelistener() { @override public void onaudiodatareceived(byte[] data) { log.d(tag, "收到音频数据:" + utils.tohex(data)); try { inputqueue.put(data); } catch (interruptedexception e) { } } }, obj, 1); session.startcall(obj, 1); ulaw_play(); ulaw_recored(); } } catch (exception e) { e.printstacktrace(); //to change body of catch statement use file | settings | file templates. } } protected void ondestroy() { super.ondestroy(); if (session != null) { if (obj != null) { session.stoplivelistening(); session.endcall(); } ((defaulttalkbacksession) session).stop(); } ulaw_stop(); } private void ulaw_stop(){ if(ulaw_decode_thread != null){ ulaw_decode_thread.interrupt(); } ulawrunning = false; } private void ulaw_play(){ ulawrunning = true; (ulaw_decode_thread = new thread(ulaw_decode)).start(); } boolean ulawrunning = false; thread ulaw_decode_thread; /** * 解码线程 */ runnable ulaw_decode = new runnable(){ public void run() { try { thread.sleep(200); } catch (interruptedexception e) { e.printstacktrace(); } android.os.process.setthreadpriority(android.os.process.thread_priority_audio); int samp_rate = 8000 ; int maxjitter = audiotrack.getminbuffersize(samp_rate, audioformat.channel_configuration_mono, audioformat.encoding_pcm_16bit); audiotrack track = new audiotrack(audiomanager.stream_voice_call,samp_rate,audioformat.channel_configuration_mono, audioformat.encoding_pcm_16bit, maxjitter, audiotrack.mode_stream); track.play(); try { while(ulawrunning) { byte[] datafordecode = new byte[0]; try { datafordecode = inputqueue.take(); } catch (interruptedexception e) { } short[] audiodata = new short [datafordecode.length]; //decode g711.ulaw2linear(datafordecode, audiodata, audiodata.length); log.d(tag, "audiodata=" + utils.tohex(audiodata)) ; //play track.write(audiodata, 0, audiodata.length); } } catch (exception e) { e.printstacktrace(); }finally{ track.release(); track = null; } } }; runnable ulaw_encode = new runnable(){ public void run() { android.os.process.setthreadpriority(android.os.process.thread_priority_audio); audiorecord record = getaudiorecord(); int frame_size = 160;// int frame_rate = 8000/frame_size ;// long frame_period = 1000 / frame_rate; short [] audiodata = new short [frame_size]; byte[] encodedata = new byte[frame_size]; int num = 0; try { while(ulawrunning) { num = record.read(audiodata, 0, frame_size); if(num<=0) continue; calc2(audiodata,0,num); //进行pcmu编码 g711.linear2ulaw(audiodata, 0, encodedata, num); //send session.sendaudiodata(encodedata); } } catch (exception e) { e.printstacktrace(); } finally{ record.release(); } } }; void calc2(short[] lin,int off,int len) { int i,j; for (i = 0; i < len; i++) { j = lin[i+off]; lin[i+off] = (short)(j>>1); } } private void ulaw_recored(){ new thread (ulaw_encode).start(); } private audiorecord getaudiorecord(){ int samp_rate = 8000 ; int min = audiorecord.getminbuffersize(samp_rate, audioformat.channel_configuration_mono, audioformat.encoding_pcm_16bit); log.e(tag, "min buffer size:"+min); audiorecord record = null; record = new audiorecord( mediarecorder.audiosource.mic,//the recording source samp_rate, //采样频率,一般为8000hz/s audioformat.channel_configuration_mono, audioformat.encoding_pcm_16bit, min); record.startrecording(); return record; }

文章TAG:g711对比哪个

最近更新

  • LG手表国际版怎么配对,怎么在手机上连接lg智能手表老是提示找不到网络LG手表国际版怎么配对,怎么在手机上连接lg智能手表老是提示找不到网络

    怎么在手机上连接lg智能手表老是提示找不到网络2,lgrollykeyboard蓝牙怎么连接3,智能手表怎么连接手机4,蓝牙手表怎么配对5,LGSmartShare怎么用1,怎么在手机上连接lg智能手表老是提示找不到.....

    问答 日期:2024-03-28

  • 浪琴怎么看出什么什么机芯,怎样识别浪琴表系列浪琴怎么看出什么什么机芯,怎样识别浪琴表系列

    怎样识别浪琴表系列2,浪琴手表日本机芯怎么看3,浪琴机芯怎么鉴别4,如何鉴定浪琴手表真假5,怎样辩别浪琴真假1,怎样识别浪琴表系列外观识别Longines浪琴手表真伪机芯识别Longines浪琴手表真.....

    问答 日期:2024-03-28

  • 玛莎拉蒂手表怎么辨别真伪,玛莎莉手表怎么区别真假玛莎拉蒂手表怎么辨别真伪,玛莎莉手表怎么区别真假

    玛莎莉手表怎么区别真假2,armani手表ar1676如何辨别真假3,阿玛尼手表怎么分辨真假4,emporioarmani手表如何分真伪5,RADOJUBILE手表怎么看真假啊1,玛莎莉手表怎么区别真假开发区同安路239号.....

    问答 日期:2024-03-28

  • 手表走不动了怎么回事,手表不走了怎样回事手表走不动了怎么回事,手表不走了怎样回事

    手表不走了怎样回事2,机械表不走了怎么回事3,为什么上劲手表不走了4,机械表不走了什么回事5,机械表不走是什么原因1,手表不走了怎样回事1.电子表的话,可以是电池的电量耗尽,更新电池。2.自动.....

    问答 日期:2024-03-28

  • 手表的雾怎么去掉,手表表面有水雾了该怎么消除手表的雾怎么去掉,手表表面有水雾了该怎么消除

    手表表面有水雾了该怎么消除2,手表表面有雾气怎么去除3,怎样清除手表内表面的水雾拜托各位了3Q4,手表有雾气哪里可以清除掉5,手表起雾了怎么处理1,手表表面有水雾了该怎么消除能进水说明密.....

    问答 日期:2024-03-28

  • 浪琴计时表怎么使用,浪琴机械表怎么调时间浪琴计时表怎么使用,浪琴机械表怎么调时间

    浪琴机械表怎么调时间2,swatch计时表怎么用3,浪琴手表时间怎么调图解4,浪琴手表怎么调时间5,新买的机械表浪琴的该怎么使用1,浪琴机械表怎么调时间手表的边缘有个圆的,把它拉起来,共有两个档.....

    问答 日期:2024-03-28

  • 79230n怎么样,中兴u879手机怎么样79230n怎么样,中兴u879手机怎么样

    中兴u879手机怎么样2,铭瑄790主版NV1G显卡怎么样3,tplinkwr840n怎么样4,五菱凯捷发动机怎么样5,长虹LED42538N液晶电视怎么样1,中兴u879手机怎么样还不错,同样的配置对比其他品牌来说性价比.....

    问答 日期:2024-03-28

  • 古尊机械表怎么调星期,古尊机械表6160怎么调日期古尊机械表怎么调星期,古尊机械表6160怎么调日期

    古尊机械表6160怎么调日期2,古尊手表9093m怎么调星期几3,GUESS手表怎么调星期4,古尊机械表日期快了一天怎么调整5,古尊手表怎么调日期1,古尊机械表6160怎么调日期由于一天二十四小时,时针要.....

    问答 日期:2024-03-28

工艺排行榜推荐