如何在 Android 开发板上测试音频 HAL

     2023-02-25     113

关键词:

【中文标题】如何在 Android 开发板上测试音频 HAL【英文标题】:How to test audio HAL on android dev board 【发布时间】:2015-05-18 02:28:52 【问题描述】:

我有一个我正在运行 android (KK 4.4.3) 的 devkit。这个板子没有显示器,所以我所做的所有工作都在命令行中。

我想将一个 linux 音频环回设备集成为一个新的音频硬件。我对如何implement the Audio HAL有了基本的了解。

我不确定如何测试此设备。是否有任何命令行实用程序等可以让我捕获或播放音频?

有 2 个实用程序 tinyplay 和 tinycap,但它们直接连接到 TinyALSA 层,完全绕过了 android 音频 HAL。

谢谢。

【问题讨论】:

您可以编写一个使用 AudioRecord / AudioTrack 的应用程序,您可以通过命令行而不是 GUI 来控制它(例如,将包含某种命令的字符串作为额外数据传递给启动应用程序时的意图)。 @Michael 是的,看起来这就是我要做的。我希望有类似无线电选项的东西 你完成过这个吗?我正在努力解决一个非常相似的要求***.com/questions/39746221 【参考方案1】:

您可以使用以下命令从命令行播放和录制。

adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Music/closeyoureyes.wav -t audio/wav

am start -a android.intent.action.MAIN -n com.android.soundrecorder/com.android.soundrecorder.SoundRecorder

这类似于如果您有显示器,您将如何播放和录制。 它将通过 Android Audio HAL。

【讨论】:

在 Espressif ESP32-LYRATD-MSC 开发板上配置音频编解码器

】在EspressifESP32-LYRATD-MSC开发板上配置音频编解码器【英文标题】:ConfiguringaudiocodeconEspressifESP32-LYRATD-MSCDevelopmentBoard【发布时间】:2019-03-0522:42:23【问题描述】:当我使用officialaudiorecordingexamples编译和烧写ESP32-LYRATD-MSC时,配置ES8... 查看详情

android深度探索(卷1)hal与驱动开发第五章 搭建s3c6410开发板的测试环境读书笔记

作为开发和学习嵌入式技术的主要硬件设备,开发板是机器重要的。因为即使可以在PC上开发Linux驱动,并重新编译成ARM架构的Linux驱动模块,但最终还是要在开发板上进行测试。有两个原因:因为ARM架构的开发板可基于X86架构的... 查看详情

android深度探索--hal与驱动开发第八章读后感

本章介绍蜂鸣器的实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣器),蜂鸣器也称为PWM脉冲宽度调制,基本原理就是通过脉冲来控制蜂鸣器的打开和停止。蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存... 查看详情

VSTS:如何在积压板上显示工作项的相关测试?

】VSTS:如何在积压板上显示工作项的相关测试?【英文标题】:VSTS:Howtoshowrelatedtestsonaworkiteminbacklogboard?【发布时间】:2018-09-0113:09:07【问题描述】:我在测试计划中添加了一个基于需求的测试套件,其中包含一个测试用例。显... 查看详情

android开发如何实现高质量的录音

...慢、项目的难度也会加大蛮多,同时APP的测试也会增加。Android中的多媒体开发,有音频的播放、音频的录制、视频的播放、视频的录制等,虽然Android的SDK中提供了一些基础的开发API类,如音频的录制就提供了两种方式:AudioRecor... 查看详情

android深度探索(卷1)hal与驱动开发第十章 嵌入式linux的调试技术读书笔记

...码,输出调试信息等。本章主要讲述了如何利用开发板、Android模拟器以及一些函数、工具调试嵌入式Linux内核模块、可执行程序和共享库。1.打印内核调试信息:printk该函数的用法和printf函数类似,只不过printk函数运行在内核空... 查看详情

android深度探索(卷1)hal与驱动开发第六章 第一个linux驱动程序:统计单词个数读书笔记

本章是一个具体的例子,来详细的介绍开发和测试Linux驱动程序的完整过程。尤其是测试Linux驱动。在这个统计单词个数的实例中,重点是该算法的实现技术:即Linux驱动,而不是如何统计的。6.1Linux驱到底是什么Linux驱动的工作... 查看详情

android深度探索--hal与驱动开发第十章读后感

...代码,输出调试信息等。本章主要介绍如何利用开发板、android模拟器以及一些函数、工具调试嵌入式linux内核模块、可执行文件和共享库。Printk函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户... 查看详情

有关linux下的qt应用程序如何在开发板上运行?急!!!谢谢各位

...,make以后生成一个可执行文件,能够在linux上运行。请问如何使该文件在开发板上运行?谢谢!2、有没有一种软件,能够在开发板上实现VC的效果?(我用的是linux)参考技术A1.想要在开发板上运行,你需要移植QTE.添加arm-linux-交... 查看详情

android深度探索(卷一)hal与驱动开发第九章

通过学习Android深度探索(卷一)HAL与驱动开发的第九章让我知道了HAL硬件抽象层,为什么要在Android中加入HAL和AndroidHAL架构。HAL是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用... 查看详情

android8.1hal层开发(代码片段)

本文基于Android8.1源码。这里介绍的是一种简单HAL的写法与调用。我将会编写一个app直接调用HAL的接口,而HAL层代码将直接读写驱动的节点。简介AndroidO的一项新元素是ProjectTreble。这是Android操作系统框架在架构方面的一项重... 查看详情

android8.1hal层开发(代码片段)

本文基于Android8.1源码。这里介绍的是一种简单HAL的写法与调用。我将会编写一个app直接调用HAL的接口,而HAL层代码将直接读写驱动的节点。简介AndroidO的一项新元素是ProjectTreble。这是Android操作系统框架在架构方面的一项重... 查看详情

android系统移植与平台开发-初识hal

...odule与stubHAL(HardwareAbstractLayer)硬件抽象层是Google开发的Android系统里上层应用对底层硬件操作屏蔽一个软件层次,说白了,就是上层的应用不用关心底层硬件具体如何工作的,只要向上层提供一个统一的接口即可,这种设计思... 查看详情

android11hal层开发(代码片段)

最近在搞Android11,拉起hal服务的时候报错了,一直崩。首先,Android11不能使用直通式HAL的写法了,会报以下的错误:LegacySupport:Couldnotgetpassthroughimplementationforandroid.hardware.fingerprint@1.0::IFinger 查看详情

android深度探索(卷一)hal与驱动开发第八章

通过学习Android深度探索(卷一)HAL与驱动开发的第八章让我知道了如何让开发板发出声音,如何编写蜂鸣器的驱动程序。了解了Linux驱动的代码重用,代码重用分为静态和动态两种。Linux驱动的代码重用有很多方法,可以采用标... 查看详情

vhdl串口通信在fpga开发板上测试并解决没有识别到下载接口usb_blaster(nohardware问题)

...没有显示我们需要的USB-Blaster[USB-0]。那么遇到这种情况该如何解决呢?首先检查你得设备是否连 查看详情

android驱动开发好了,怎么调试

本文用《Android深度探索(卷1):HAL与驱动开发》的随书源代码为例详细说明如何配置Android驱动开发和测试环境,并且如何使用源代码中的build.sh脚本文件在各种平台(UbuntuLinux、Android模拟器和S3C6410开发板)上编译、安装和测试... 查看详情

android深度探索(卷一)hal与驱动开发第十章

通过学习Android深度探索(卷一)HAL与驱动开发的第十章让我知道了嵌入式Linux的调试技术和调试工具有哪些。Printk可以打印内核调试信息,该函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空... 查看详情