首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android自定义控件(神级)+MediaRecoder录音

零、前言 总算想到一个神级的自定义控件了 前方高能预警,萌新自带零食饮料 本文的前置知识你需简单了解:Android绘制函数图象及正弦函数的介绍 没错,今天玩自定义控件,和函数、录音有什么关系...用脚趾头稍微想一下就知道了... ---- 废话不多说,看待仿效果: 别激动...这只是待仿的效果(OPPOR15X录音自带),至于能仿成什么样我心里也没底 ?...第一天用AudioTrack实现了录音,MediaRecode可以录音也可以录视频 两者的区别AudioTrack麻烦一点,需要自己去操作字节流,但可以精致操作 MediaRecode相当于给你封装好了...效果.png ---- 1.录音的辅助类 /** * 作者:张风捷特烈 * 时间:2018/4/16:10:33 * 邮箱:1981462002@qq.com * 说明:MediaRecorder...("MediaRecorder录音/" + StrUtil.getCurrentTime_yyyyMMddHHmmss() + ".m4a"); mMediaRecorderTask.start

82950
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    跨线程调用窗体控件

    此外,这条规则的结果是一个被包含的控件(如,包含在一个表单中的按钮)必须与包含它控件位处于同一个线程中。也就是说,一个窗口中的所有控件属于同一个 UI 线程。...这意味着您不能调用用户界面中任意控件上的任何方法,除非在该方法的文档说明中指出可以调用。该规则的例外情况(总有文档记录)非常少而且它们之间关系也不大。...UI控件";     } 如果您在 .NET Framework 1.0 版本中尝试运行这段代码,也许会侥幸运行成功,或者初看起来是如此。...这意味着辅助线程代码不再担心需要过多关注 UI 细节,而只要定期调用 ShowProgress 即可。 如果我提供一个设计为可从任何线程调用的公共方法,则完全有可能某人会从 UI 线程调用这个方法。...在这种情况下,没必要调用 BeginInvoke,因为我已经处于正确的线程中。调用 Invoke 完全是浪费时间和资源,不如直接调用适当的方法。

    1.3K10

    Android 使用MediaRecorder录音调用stop()方法的时候报错

    ,否则录音文件就不成功了, 停止,停止的是jni对象,释放,释放的jni里面的对象,同时也释放了java对象里面的栈内存的值,堆内存还保留着呢,引用为空   这里搞明白了,原因也就出来了, 关于这里面jni...机制如果不懂,可以看我上篇文章,讲解的很详细 释放之后,如果马上执行第二次录音,这个时候上面的if代码就需要判断了,很明显if里面的语句是不会被执行的,因为堆内存没有被释放掉啊,但是jni里面的对象全部被释放掉了...这个时候如果你还用这个对象去录音,那么结果就是你对着空气说话,录的音也成了空气,然后你松开手指也就是录音对象停止的时候,无法停止了,因为jni对象是空的,不存在,怎么去停止呢,程序直接闪退,原因就是这样的了...解决办法就是这个时候如果你的对象不为空,你需要再重新创建一次,主要是保证你录音不会成为空气, public void start...strong> 这里面有人肯定问,你这里面stop已经搞了异常抛出,为什么上面的创建还加上else那样的代码呢, 这里面也是机型的原因然后导致我最终还是保留了这段代码   因为要保证你说的话,录音的音不会成为空气啊

    1.6K30

    ASP.NET验证控件的使用

    自认为做了几年Web,就很了解Asp.net,但最后才发现不是这个样子的。首先没有系统的学习,其次没有深入的实践,从学校到公司,一直在使用别人写好的控件,甚至在很长一段时间,想写几个轮子出来。...前些天了解了一下验证控件,记录下来,希望以后忘记的时候可以舒适起来。 微软提供六个验证控件,更准确的说是五个验证控件和一个集中显示控件。...在这些控件中,最简单的莫过于RequiredFieldValidator 控件,这个控件是验证必填项的,当验证的控件没有输入数据时,就会验证失败,从而无法继续执行。...这个控件会在客户端和服务器段分别进行验证;其次是RegularExpressionValidator 控件,这个控件需要一个正则表达式,ValidationExpression属性是验证的正则表达式,这个控件同样会进行服务器和客户端的同时验证...另外两个是CompareValidator 控件和RangeValidator 控件,第一个是用来比较的,可以将输入控件的值同常数值或其他输入控件的值相比较,以确定这两个值是否与由比较运算符(小于、等于

    2.9K30

    ASP.NET控件的CSS定位

    ASP.NET标准控件功能强大,虽然在编程方面方便点,后台代码可以任意访问到并操作,但CSS对母版内容页里的标准控件则很难。...原因是经过编译之后的页面标准控件的ID都会变为母版页占位符和原ID的合成字符串,已经不是原来的ID值了,此时如果你的CSS是用ID来定位则失效(在没有母版页的普通aspx页面里标准空间的id值经过编译之后不会变化...HTML控件不比ASP.NET标准控件强大,且后台代码直接访问不到。此时我们只需要在HTML控件添加一个run=”server”的属性就可以了,把它转化为服务端的控件,具有编程性。...同时HTML控件还没有事件的功能,也就是说你直接用OnClick去关联后台代码的事件是会报错的。但CSS对它却能够定位得很好,无论是用id或者Class去定位。

    2K20

    ASP.NET AJAX 控件开发基础

    在 JavaScript 当前广泛使用的版本中,它缺少 .NET 开发人员所熟悉的几个 OOP 的关键概念,而 ASP.NET AJAX 可以模拟其中的大多数,而且 ASP.NET AJAX 的目标是将使用....NET 的开发人员所熟悉的某些其他构造(例如属性、事件、枚举和接口)转换成 JavaScript.ASP.NET AJAX 中的反射 API 将检查所有类型(无论是内置类型、类、接口、命名空间、或者甚至是枚举...下面是一个典型的AjaxControlToolkit的控件脚本,红色部分为添加的解释语句: // (c) Copyright Microsoft Corporation. // This source...Type.registerNamespace('AjaxControlToolkit');   //定义命名空间 //在 ASP.NET AJAX 中定义类,您需要将其构造函数赋给变量(注意,构造函数如何调用基础函数...type="Sys.UI.DomElement" domElement="true"> /// Button the behavior is associated with /// //调用初始化基类

    2.4K60

    ASP.ENT调用JS jquery

    ASP.NET控件默认是submit状态的,所以点击都会提交到后台。 VS中我们拖动控件或是自己写控件,是这样的 ? 在编译后: ?...在asp中的OnClick和在Html里的OnClick是不一样的,前者是ASP中的,所以点击触发的是服务器事件,后者是客服端事件,当然在ASP中也有客户端的,OnClientClick事件,它在编译后就是...意思就是,在提交前进行一个验证,在验证成功后再提交给后台,所以 edit2 这个方法返回了一个布尔值(true 和false),true时提交,在这个 edit2 方法中,我们可以更改控件控件绑定的方法...,使这个或某个控件的onClientClick事件绑定到其他方法上,我这里是更变了本身这个控件,传入了this ?...以我的例子来说就是:点击服务器控件(编辑),触发onclick事件,更改表格结构填充数据,再改变这个控件的value为“保存”(asp的button编译后是html里的input),然后更改这个控件onclick

    2.7K10

    ASP.NET AJAX UpdatePanel 控件实现剖析

    那这个控件是如何实现这种局部刷新的哪,透过其实现机制我们可以更清楚其优缺点,便于我们确定其使用场合。本文将重点阐述ASP.NET AJAX控件UpdatePanel的实现机制。 1....而远程服务则是直接通过前端JavaScript来调用的服务器端服务,前段获取数据后,进行页面更新,这就要求服务器端代码必须分解为特定于应用程序的服务,这是与传统的ASP.NET应用程序完全不同的体系结构...ASP.NET AJAX框架分为客户端以及服务器端两个部分,基于客户端的 Microsoft AJAX Library包含了对浏览器兼容性、网络访问以及客户端控件组件等支持, 而服务器端则包括了服务器控件...ScriptManager 和 UpdatePanel ScriptManager和UpdatePanel是ASP.NET AJAX服务器端中最重要的两个控件,ScriptManager控件用来管理ASP.NET...PageRequestManager的_onFormSubmitCompleted方法来进行页面局部更新,最终会调用_updatePanel方法来更新UpdatePanel控件

    6.8K100

    Asp.net Ajax Accordion控件的用法

    Accordion,翻译过来是“手风琴、可折叠”的意思,微软Asp.net ajax提供了Accordion可折叠面板控件,方便用户在系统菜单、信息展示中使用,用户体验是相当的好啊。...这个控件允许定义多个面板,当用户选中一个面板时,其余面板都会折叠起来,只显示选中面板的内容。...如果我说的不够清楚,请在这里查看示例:http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Accordion/Accordion.aspx。...此外,这个控件还支持数据绑定。...看完了示例,该知道这个控件功能好用了吧,下面就是用法了,先说说简单的用法,定义面板、设计面板,就是这么简单,下面给出一段代码,一看就能明白: <ajaxToolkit:Accordion ID="MyAccordion

    1.6K20
    领券