Android添加iPod USB PCM音频

本文介绍了如何在Android中添加对iPod USB PCM音频的支持。涉及Android源码中的tinyalsa库,包括如何打开音频设备、配置PCM接口,以及处理权限问题。通过pcm_open函数打开设备,并进行pcm_read和pcm_write操作来实现音频读取和输出。
摘要由CSDN通过智能技术生成

在Apple的MFI文档中说明了,USB接口的播放器是需要接入USB的HID接口以及USB PCM接口。

驱动部分暂时先不说了,直接说framwork部分的添加PCM接口部分的事情了。


1.在android的源码中提供了pcm部分的接口,源码位置;\external\tinyalsa.这里面就有pcm部分的代码了。

a.打开audio设备:struct pcm *pcm_open(unsigned int card, unsigned int device,unsigned int flags, struct pcm_config *config)

参数说明:

card 声卡编号。 这个可以在 proc/asound/下看到card0 、card1、cards。 如果你有两个声卡设备你才看得到card1,也就是说,如果ipod的usb pcm驱动成功的话在这个里面你就可以看到了card1了。

devices这个就是接口设备、按照实际需要修改了。

flags:这个参数填入 PCM_IN,因为我们需要的是PCM输入设备。

config:这个就是配置信息项目了重点配置项目: format : PCM_FORMAT_S16_LE; channels : 2;还有就是rates:我们先默认配置44100.这个参数是需要根据ipod发送过来的参数实时调整的。


在pcm_open的源码里面我们可以看到,实际上是直接打开设备:

  snprintf(fn, sizeof(fn), "/dev/snd/pcmC%uD%u%c", card, device,flags & PCM_IN ? 'c' :

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值