移植linux内核2.6.25到pxa255上,是选ALSA还是OSS?
请教各位达人:
移植linux内核2.6.25到pxa255上,是选ALSA还是OSS?
目前,选择ALSA,节点能够自动创建出来,如何让它发声进行测试啊?
节点有:
timer
pcmC0D0p
pcmC0D0c
seq
controlC0(是个控制节点,名字不一定准)
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
不太了解这个,我觉得可以根据你的应用,在分析一下这两个东西的应用情况,来斟酌一下
移植的目的是 在上面跑android,请问实习版主-大天使,用alsa还是oss,与上面跑的应用的影响大吗,alsa里面也是支持oss的?
谢谢!
不好意思,对这方面实在是不太了解,不敢妄言,等待懂的人来解惑
配置ALSA, 目前有10个节点出来,含DSP和MIXER节点,用cp测试时,有播放声音的过程出现,但是,声音是杂音,请问是什么原因啊?
查寄存器,播放音频文件的采样率等与寄存器的设定是否一致。
目前设置gain值的寄存器,写不进去,请问是什么原因啊?
谢谢先,代码列出如下:
/* test for AC'97 */
if (!(ac97->scaps & AC97_SCAP_SKIP_AUDIO) && !(ac97->scaps & AC97_SCAP_AUDIO)) {
/* test if we can write to the record gain volume register */
ret1=snd_ac97_read(ac97, AC97_REC_GAIN);
printk("ret1=%x", ret1);
snd_ac97_write_cache(ac97, AC97_REC_GAIN, 0x8a06);
ret2=snd_ac97_read(ac97, AC97_REC_GAIN);
printk("ret2=%x", ret2);
if (((err = snd_ac97_read(ac97, AC97_REC_GAIN)) & 0x7fff) == 0x0a06)
ac97->scaps |= AC97_SCAP_AUDIO;
}
这段代码是linux2.6.25的源代码,
上面的代码里,ret1的值是默认的0x8000,向其写0x8a06后,再读出,还是0x8000,导致ac97->scaps条件不满足,没有配置上AC97_SCAP_AUDIO,而,如果不配置它,就无法生成dsp,mixer,pcmc0d0c,pcmc0d0p等节点.
请问,这个寄存器如何写进去呀?
在这里我
illeggy 侠客:
"查寄存器,播放音频文件的采样率等与寄存器的设定是否一致。"
能否给个思路,我如何获得"播放音频文件的采样率"?我采用cp拉测试的.
还有,接我上面提到的,用smixer设置,可以设置pcm选项,但是就是不能设置gaim选项,也不知道该怎么办?
我前一阵调过一个pci的声卡,mixer部分驱动里有些默认设置是和被播放音频文件的参数不一致的,这个具体每种芯片,你得去查哪些寄存器管mixer的哪些功能。而且可能声卡芯片内部有多个通道(不是声道),驱动选择的是哪个。
你说的寄存器写不进去,如果是可读写的寄存器,理论上不会不能写,好好查查吧。
播放音频文件的采样率,少打了一个字,被播放,这个是音频文件本身的属性,驱动里的参数要和实际文件一致。