静音检测是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静音检测是啥相关的知识,希望对你有一定的参考价值。

VAD静音抑制,又称语音活动侦测。静音抑制的目的是从声音信号流里识别和消除长时间的静音期,以达到在不降低业务质量的情况下节省话路资源的作用,它是IP电话应用的重要组成部分。静音抑制可以节省宝贵的带宽资源,可以有利于减少用户感觉到的端到端的时延。

根据上面的定义我们可以理解为,当进行语音通讯时,如果终端开启了静音检测功能,当用户在一段时间内没有讲话时,终端不会向外发送语音包或发送少量的包,节约带宽!

2场景定义

在测试之前我们先定义下测试场景

服务器是公网服务器,IP地址是218.249.39.212,其中终端1007使用的是联通上网卡,15623722867使用的是公司内部WIFI。

终端1007用的语音呼叫终端15623722867之前,我们用tcpcump在服务器端先进行抓包,然后再进行抓包。语音呼叫完毕后,停止抓包,然后从服务器中下载抓取的包,在windows中用wireshark或Hammer工具进行分析。

我们分别用不开启静音检测功能与开启静音检测功能的两个包为例来分析!两个包PTIME都为100,速率为4.75kbit/s,

jingyin_100_4.75.pcap开启了静音检测功能进抓的包;

null_jingyin.pcap没有开启静音检测功能时抓的包;
参考技术A 静音检测
vad(voice activity dectection)是针对一段音频中,检测出有语音出现的时间段。最简单的想法是基于信号的幅度,有效的信号幅度高,噪声的幅度小,但是从网上看了一些自适应的基于能量(信号幅度)的方法,测试了一下不够理想,主要是自适应并不能真正做到自适应。

在视频列表中静音/取消静音的最佳方法是啥

【中文标题】在视频列表中静音/取消静音的最佳方法是啥【英文标题】:What is the best approach to mute/unmute sound in list of videos在视频列表中静音/取消静音的最佳方法是什么 【发布时间】:2017-04-25 07:00:33 【问题描述】:

我正在使用TextureViewMediaPlayer 显示视频列表。我想为所有视频静音/取消静音。

有什么问题

问题是当我使用notifyDataSetChanged() 方法时,播放视频会重新加载,因为onBindViewHolder()notifyDataSetChanged() 之后执行。

静音/取消静音图标点击代码

case R.id.volume_button:
                if (isToPlaySoundInitially) 
                    volumeKey.setImageResource(R.drawable.unmute_video);
                    isToPlaySoundInitially = false;
                    mVideoView.unMuteVideo();

                 else 
                    volumeKey.setImageResource(R.drawable.mute_video);
                    isToPlaySoundInitially = true;
                    mVideoView.muteVideo();

                
                notifyDataSetChanged();
                break;

静音/取消静音的方法

public void muteVideo() 
    if (this.mp != null) 
        mp.setVolume(0, 0);
    


public void unMuteVideo() 
    if (this.mp != null) 
        mp.setVolume(1, 1);
    

请建议我如何将列表中所有项目的声音静音/取消静音。

谢谢。

【问题讨论】:

你能发布一些你的代码吗? 我已经用适配器中的点击事件代码更新了我的问题 我希望你为你的项目创建一个持有人,你可以直接触摸你的项目视图。 是的,但我必须在单击任何一项时为所有项静音。喜欢在 Facebook 中 【参考方案1】:

使用 MediaPlayer 类的 setVolume 函数将音量设置为 0。 不要使用 AudioManager 类,因为如果使用 AudioManager 将音量设置为 0,那么它会将所有 MediaPlayer 和 VideoView 实例的音量设置为 0。

但是,如果您将使用 MediaPlayer 的 setVolume() 方法,那么它只会静音该实例的音量。

使用 VideoView 也不容易将音量设置为 0,因为 VideoView 是 MediaPlayer 类的包装器,只允许访问 MediaPlayer 的一些功能。

【讨论】:

我认为这不是我的问题。我对特定视频静音和取消静音没有任何问题。当我将任何一个视频静音时,我想为所有视频静音,取消静音也是如此。如果您有任何疑问,可以查看 Facebook 应用程序。 希望对您有所帮助:***.com/a/10896086/7795876

以上是关于静音检测是啥的主要内容,如果未能解决你的问题,请参考以下文章

检测静音|在 Android TV 上取消静音

voice activity detection,VAD是啥意思

如何检测音量是不是设置为静音?

什么是静音切除?

python检测音频静音段并添加静音段

如何检测 AVAudioRecorder 中的静音?