Android平台上的Aplay与TinyAlsa移植使用

ALSA是高级Linux声音架构。提供了一系列音频的逻辑接口,包括PCM、CONTROL等。这些,不影响它的使用,了解一下就可以。

在Android设备上,2.x的版本,要控制录制播放音频,要使用alsa-lib和alsa-utils编译出aplay播放器。使用你的交叉编译工具,经过一系列编译后移植使用。

而在3.x的版本往后,已经使用TinyAlsa来替代这些了。tinyalsa的使用,与aplay相比,大大降低了编译和使用难度。

过程今天记录了,明天更。

TODO:aplay交叉编译过程&tinyalsa编译使用过程。

不是我懒了不爱总结了,井里的人更新一篇不容易,更新一篇,前面都有一座大山。我从一千里以外的地方赶来的。

不不不,就是懒,还笨。

时间: 2024-10-23 22:12:21

Android平台上的Aplay与TinyAlsa移植使用的相关文章

Android平台上的Linphone学习(一)

Linphone: 适用于很多平台(Windows, Mac OS, Android)的VOIP电话工具, 基于标准SIP协议. Linphone-android: Android平台上的Linphone. Linphone-android的工程中,一部分是Java实现的功能框架,另一部分是JNI实现的linphone动态库. 学习过程可以分两步: (1)熟悉Java层框架; (2)阅读linphone动态库的C源码. 环境配置可以分三部分: (1)下载已经编译好的Linphone-androi

Android平台上PMEM的使用及Platform设备注册(一)

Android中PMEM驱动程序是物理内存的驱动程序,可用于分配物理内存.PMEM在camera和video系统中频繁使用.下面,简单记录一下PMEM的使用方法.另外,由于PMEM设备做为Platform设备存在,所以我们将对Platform设备做以简单描述. 一.PMEM的使用 使用PMEM需要包含如下几个头文件: #include <sys/ioctl.h> #include <binder/MemoryHeapBase.h> #include <binder/Memor

Android平台上PMEM的使用及Platform设备注册(二)

三.注册PMEM设备 这里我们除了描述PMEM设备,还将注册一个拥有memory空间和IRQ资源的示例设备example_device. 对于example_device,定义如下结构体: static struct resource example_resources[] = { [0] = { .start  = 0xC0000000, .end    = 0xC0020000, .flags  = IORESOURCE_MEM, }, [1] = { .start  = 30, .end 

[图文]为移植到Android平台上的Cocos2d-x项目添加xml布局文件

转载请标明出处:http://blog.csdn.net/vistatns/article/details/51316462 (将Cocos2d-x项目移植到Android上请前往:http://blog.csdn.net/vistatns/article/details/51316103) 1.添加布局文件main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:a

android平台上AES,DES加解密及问题

在使用java进行AES加密的时候,会用到如下方法: SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); 但是在android4.2以上进行加密.解密时,会报类似badPadding的异常,但是把该代码替换成一下方法则一切都OK. SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto"); AES加密算法: ? 1

GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式. 对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局.能够让开发者轻松开发

Android 8.0的平台上,应用不能对大部分的广播进行静态注册

引言在Android 8.0的平台上,应用不能对大部分的广播进行静态注册,也就是说,不能在AndroidManifest文件对有些广播进行静态注册,这里必须强调是有些广播,因为有些广播还是能够注册的.比如,经过测试,对接收Android 开机的广播通过静态注册还是能够正常接收的. 解决办法我们知道广播的注册方式分为两种: 静态注册,也就是说在AndroidManifest文件中对BroadcastReceiver进行注册,通常还会加上action用来过滤. 动态注册,调用Context中的reg

测试Qt Quick在各个平台上的3D渲染性能

测试Qt Quick在各个平台上的3D渲染性能 Qt是一个跨平台的GUI框架,它的QtQuick更是支持结合OpenGL原生的代码进行渲染.我想将我以前写的程序整合到QtQuick上来,看看渲染效果是否满意,于是写了一个小小的程序,来做一下渲染基准测试.运行结果出来,不容乐观呐. 蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/43842131.欢迎同行前来探讨. 首先为了描述最基本的情况,我制作了一个带有纹理的立方体.它使用

Linux平台上SQLite数据库教程(二)——C语言API介绍

Linux平台上SQLite数据库教程(二)--C语言API介绍 前言:本文将介绍几个基本的SQLite3数据库的C语言API接口,主要用到两个文件:sqlite3.c.sqlite3.h.源码地址:https://github.com/AnSwErYWJ/SQLite. 打开数据库 1.原型: int sqlite3_open( const char* filename, /* 数据库文件名, 必须为 UTF-8 格式 */ sqlite3** ppDB /* 输出: SQLite 数据库句柄