本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
上次简单地介绍了AudioRecord和AudioTrack的使用,这次就结合SurfaceView实现一个Android版的手机模拟信号示波器(PS:以前也讲过J2ME版的手机示波器)。最近物联网炒得很火,作为手机软件开发者,如何在不修改手机硬件电路的前提下实现与第三方传感器结合呢?麦克风就是一个很好的ADC接口,通过麦克风与第三方传感器结合,再在软件里对模拟信号做相应的处理,就可以提供更丰富的传感化应用。
先来看看本文程序运行的效果图(屏幕录像速度较慢,真机实际运行起来会更加流畅):

本文程序使用8000hz的采样率,对X轴方向绘图的实时性要求较高,如果不降低X轴的分辨率,程序的实时性较差,因此程序对X轴数据缩小区间为8倍~16倍。由于采用16位采样,因此Y轴数据的高度相对于手机屏幕来说也偏大,程序也对Y轴数据做缩小,区间为1倍~10倍。在SurfaceView的OnTouchListener方法里加入了波形基线的位置调节,直接在SurfaceView控件上触摸即可控制整体波形偏上或偏下显示。
main.xml源码如下:
ClsOscilloscope.java是实现示波器的类库,包含AudioRecord操作线程和SurfaceView绘图线程的实现,两个线程同步操作,代码如下:
testOscilloscope.java是主程序,控制UI和ClsOscilloscope,代码如下:
分享到:
相关推荐
开发的android平板端示波器,通过无线蓝牙来获取数据,渲染效果还可以,UI线程不会死
在Android平台上,开发一款模拟信号示波器是一个挑战性的任务,因为这涉及到处理实时音频数据、图形绘制以及用户交互。本文将深入探讨如何利用SurfaceView组件来构建这样一个应用,同时考虑了性能和用户体验。 首先...
这个项目是关于利用STM32F103C8T6来构建一个便携式的数字示波器,该示波器可以通过Android设备进行显示和控制。 数字示波器是一种用于测量电信号的电子测试仪器,它可以捕捉并显示信号的电压随时间变化的图形。在本...
本文将深入探讨一款基于STM32单片机控制,并通过Android设备进行实时显示的便携式数字示波器的设计与实现。 STM32是意法半导体(STMicroelectronics)推出的基于ARM Cortex-M内核的微控制器系列,具有高性能、低...
前面简单地介绍了Android程序开发中AudioRecord和AudioTrack的使用,这次再结合SurfaceView实现一个Android版的手机模拟信号示波器。最近物联网炒得很火,作为手机软件开发者,如何在不修改手机硬件电路的前提下实现...
在Android平台上开发一个示波器小程序,可以展示正弦和余弦信号,是将嵌入式计算和可视化技术应用于移动设备的一个典型实例。这个小程序利用Android系统的强大功能,为用户提供实时信号显示,使得用户能够在手机或...
在Android平台上,模拟信号示波器的开发是一个有趣且实用的技术挑战,它允许开发者利用手机的内置硬件,如麦克风,来捕获和显示模拟信号。这个示例代码旨在教你如何创建一个基本的Android模拟信号示波器,通过Audio...
手机虚拟示波器是一种利用智能手机或平板电脑作为平台,通过软件模拟传统电子示波器功能的应用。这种技术的出现,使得用户无需购买昂贵的专业设备,就能进行简单的信号检测和分析,尤其适合教育、DIY爱好者以及对...
标题中的“将Android手机变成蓝牙无线示波器”是一个创新性的技术实践,它涉及到将普通的Android智能手机通过蓝牙技术转换为一种无线示波器设备。这一技术应用了Android系统的开放性和可编程性,以及蓝牙的无线通信...
标题中的“基于单片机STM32控制、Android显示的便携式数字示波器”指的是一项技术项目,它将传统的数字示波器功能与现代移动设备相结合,实现了通过单片机STM32进行数据采集和处理,并通过蓝牙连接在Android手机上...
"安卓手机用蓝牙示波器"就是这样一个创新的实例,它巧妙地利用了手机的便携性和计算能力,将传统示波器的功能融入其中,实现了移动式的信号检测和分析。这个开源项目由国外的爱好者研发,旨在提供一种经济、便捷的...
Android手机蓝牙示波器是一种创新的技术应用,它利用Android设备的内置硬件和软件能力,将智能手机转变为便携式示波器。这样的应用极大地扩展了移动设备的功能性,使其能够进行基本的电子信号检测和分析,对于电子...
DIY使用树莓派Pico制作的200KHz模拟带宽的数字示波器安卓应用 电子森林项目:https://www.eetree.cn/project/detail/859
在Android平台上,开发一款能播放MP3音乐并具备示波器功能以及播放设置的应用是一项常见的需求。本实例将深入探讨如何实现这样的功能,包括音乐播放、音频处理以及UI设计。 首先,我们需要使用Android的`...
在这个教程中,我们将深入探讨如何将Android智能手机转变为一个功能齐全的蓝牙无线示波器,以及相关的技术细节。这个过程涉及到Android应用开发、蓝牙通信技术、数据处理和波形显示等多个IT领域的知识点。以下是对...
在Android平台上,开发一个示波器应用主要用于可视化音频信号,帮助用户直观地了解音频的波动情况。这个"android示波器"项目的核心是将音频数据转换为可视化的波形图,以便用户可以观察和分析音频内容。下面我们将...
本Demo无须界面布局文件,使用一个LinearLayout容器来盛装一个示波器View组件,该示波器View组件将负责绘制Visualizer传过来的数据:LinearLayout添加多个SeekBar来控制Equalizer支持的所有频率的均衡值;...
"android音频口示波器和波形发生器"项目是一个很好的实践,它涵盖了Android音频编程的关键知识点。让我们深入探讨一下这些技术要点。 首先,`示波器`是显示音频信号波形的工具,它可以帮助我们实时查看音频数据的...