9 Rain松

尚未进行身份认证

我要认证

凡事预则立不预则废

等级
TA的排名 8k+

WebRTC噪声抑制算法:使用多特征建模分析语音/噪声似然性的噪声抑制方法

背景在语音通信中,周边和/或背景噪声过多会干扰通信单方或双方对通信内容的理解,有时甚至导致对话没有意义。周边噪声包括各种外界来源的声音,其中较为常见的噪声源包括计算机、风扇、麦克风和办公设备。噪声抑制旨在消除或减少周边背景噪声,提高目标音频的清晰度,从而为听者提供更为舒适的听力环境。概述1.针对噪声抑制组件接收到的连续多帧输入信号的每一帧,以对该帧的初始噪声估计为基础,定义语音概率函...

2019-12-25 15:16:35

Tensorflow训练循环

训练循环https://github.com/tensorflow/tensorflow/blob/r1.12/tensorflow/python/keras/engine/training_eager.pydef fit_loop(model, inputs, targets, sample_weig...

2019-03-28 17:24:18

排序算法总结

排序算法大体可分为两种:    一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。    另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序等。

2017-11-06 12:17:52

Android仿小米商城底部导航栏之二(BottomNavigationBar、ViewPager和Fragment的联动使用)

简介在前文《仿小米商城底部导航栏(基于BottomNavigationBar)》我们使用BottomNavigationBar控件模仿实现了小米商城底部导航栏效果。接下来更进一步的,我们将通过BottomNavigationBar控件和ViewPager空间的联动使用来实现主界面的滑动导航。导航是移动应用最重要的方面之一,对用户体验是良好还是糟糕起着至关重要的作用。好的导航可以让一款应用更

2017-01-07 10:59:28

Android仿小米商城底部导航栏(基于BottomNavigationBar)

简介现在大多数App都会用到底部导航栏,比如QQ、微信和购物App等等。有了底部导航栏,用户可以随时切换界面,查看不同的内容。Android底部导航栏的实现方式特别多,例如TabHost,TabLayout,或者TextView等,都可以实现底部导航栏的效果,但是却没有Google官方统一的导航栏样式,今天讲的就是Google最近添加到Material Design中的底部导航栏BottomN

2017-01-06 11:23:22

WebRTC Android API

WebRTC Android APIWebRTC For Android相关的API有VideoCapturerAndroid, VideoRenderer, MediaStream, PeerConnection 和 PeerConnectionFactory等。通过这些功能完善、说明详细的API,可以显示任何想要显示的本地音视频流和远程音视频流。下面我们将逐一讲解。类图

2016-03-14 10:53:13

Android插件化开发技术

2016-03-08 16:49:47

Android-PullToRefresh下拉刷新库基本用法

PullToRefresh是一套实现非常好的下拉刷新库,它支持:ListViewExpandableListViewGridViewWebViewScrollViewHorizontalScrollViewViewPager等多种常用的需要刷新的View类型,而且使用起来也十分方便。(下载地址:https://github.com/chrisbanes/Andr

2015-01-08 09:14:05

Android之仿今日头条顶部导航栏效果

随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以有加了顶部导航栏。今日头条顶部导航栏区域的主要部分是一个导航菜单。导航菜单是一组标签的集合,在新闻客户端中,每个标签标示一个新闻类别,对应下面ViewPager控件的一个分页面。当用户在Vie

2015-01-07 09:11:56

Android之仿今日头条标题栏效果

学习Android应用开发已经有一段时间了,对涉及应用开发的主要基础知识已经有了一定的了解,学习过程中写的博客被我整理成立了一个专栏《Android应用开发基础》。但是基本上写的代码都是一些单一知识点的演示Demo,与一个完整的产品相差甚远。要具备开发复杂的产品级应用的能力,在掌握了应用开发的基础知识的前提下,最好的方法莫过于模仿别人开发的优秀应用。在模仿中循序渐进,以程序员角度去看待每一个APP

2015-01-06 09:13:28

Android之JSON格式数据解析

JSON:JavaScript 对象表示法(JavaScript Object Notation)。独立于语言和平台,比 XML 更小、更快,更易解析。如今JSON数据已经成为了互联网中大多数数据的传递方式,所以必须要熟练掌握。Android平台自带了JSON解析的相关API,可以将文件、输入流中的数据转化为JSON对象,然后从对象中获取JSON保存的数据内容。Android的JSON

2015-01-01 12:45:52

Android Handler消息机制

在上一篇文章《Android AsyncTask异步任务》中我们介绍了如何使用AsyncTask异步处理网络通信和UI更新。在本文中将使用Handler消息机制来异步处理网络通信和UI更新。Google参考了Windows的消息机制,在Android系统中实现了一套类似的消息机制。学习Android的消息机制,有几个概念(类)必须了解:1、Message消息,理解为线程间通讯的数据

2014-12-29 09:09:04

Android AsyncTask异步任务

在上一篇文章《Android网络编程之使用HttpClient进行Get方式通信》中,我们强制直接在UI线程进行网络操作,在实际的应用开发过程中不能这样做,因为这样很可能会阻塞UI,影响用户体验。为了避免直接在UI线程中进行网络操作,我们可以使用AsyncTask异步处理网络通信和UI更新。通过AysncTask可以很容易的启动后台线程进行网络通信,然后将结果返回到UI线程中。AsyncT

2014-12-26 09:14:24

Android网络编程之使用HttpClient进行Get方式通信

在Android开发中,Android SDK附带了Apache的HttpClient,它是一个完善的客户端。它提供了对HTTP协议的全面支持,可以使用HttpClient的对象来执行HTTP GET和HTTP POST调用。HTTP工作原理:1.客户端(一般是指浏览器,这里是指自己写的程序)与服务器建立连接2.建立连接后,客户端向服务器发送请求3.服务器接收到请求后,向客户端

2014-12-25 09:15:13

Android存储之SharedPreferences

SharedPreferences是Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入,下面看一个演示的例子。实例:SharedPreferencesDemo代码逻辑:应用启动时尝试从SharedPreferences中读取保存的用户名和用户密码,并将结果显示在UI界面相应的编辑框

2014-12-23 09:12:34

Android图片异步加载框架Android-Universal-Image-Loader

Android-Universal-Image-Loader是一个图片异步加载,缓存和显示的框架。这个框架已经被很多开发者所使用,是最常用的几个Android开源项目之一,主流的应用,随便反编译几个,都可以见到它的身影。淘宝,天猫,Facebook,京东商城等都用到了这个项目。该项目的Github地址链接:https://github.com/nostra13/Android-Universa

2014-12-17 09:03:29

Android UI之SlidingMenu侧滑菜单

SlidingMenu侧滑菜单是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作。很多优秀的应用都采用了这种界面方案,像facebook、人人网、everynote、Google+、网易新闻、知乎日报、有道云笔记等等。现在这种交互方式越来越流行了,虽然这种交互方式可以通过自定义组件的方式来实现,但是用第三方开源库更简单。地址: https

2014-12-08 10:11:21

Android UI之ViewPager

ViewPager需要android-support-v4.jar这个包的支持,它是Google提供的一个附加包。ViewPager主要用来组织一组界面,并且通过左右滑动的方式来展示。与ListView类似,ViewPager也需要一个适配器,也就是PagerAdapter,来把这组界面填充到ViewPager中。ViewPager的使用步骤:1、往布局文件里加入ViewPager

2014-12-04 10:52:58

Android UI之Tab(ActionBar+Fragment实现)

Fragment和ActionBar都是Android3.0之后出现的,Fragment,碎片,主要是为了支持更多的UI设计在大屏幕设备上,如平板。因为现在设备的屏幕越来越大,使用Fragment可以更灵活的管理视图层次的变化。像Activity一样,可以创建Fragment来包含View,进行布局,但是Fragment必须嵌入在Activity中,不能单独存在,而且一个Activity可以嵌入多

2014-12-02 09:41:15

Android UI之Tab(TabActivity+TabHost实现)

Tab标签页是UI设计时经常使用的UI控件,可以实现多个分页之间的快速切换,每个分页可以显示不同的内容。TabHost相当于浏览器中标签页分布的集合,而Tabspec则相当于浏览器中的每一个分页面。在Android中,每一个TabSpec分布可以是一个组件,也可以是一个布局,然后将每一个分页装入TabHost中,TabHost即可将其中的每一个分页一并显示出来。使用Tab标签页的一

2014-12-01 09:15:33

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!