日期:2014-05-16  浏览次数:20894 次

音频驱动问题
在arm上移植了alsa-lib-1.0.22和alsa-utils-1.0.22,调试了一周了
现在依然没有声音

用arecord录制wav,发现文件的大小是对的,但是没有声音,GoldWave查看文件没有波形。
用aplay播放,不出错,但也没有声音,
amixer set Master 70%
amixer set Capture 70%

就是无法设置amixer set PCM 70%
显示amixer: Unable to find simple control 'PCM',0

各位大牛帮忙给分析下可能出错的地方吧,愁死了!!!


附上播放时的调试信息:

#aplay 1.wav
atmel_ssc_startup: SSC_SR=0x0
Playing WAVE '1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
call wm8731_hw_params
rete=16;srate=35
s16_LE
atmel_ssc_hw_params: RCMR=00010420 RFMR=001f018f TCMR=19010404 TFMR=001f018f
atmel_ssc_dai: Starting clock
atmel_ssc_dai,hw_params: SSC initialized
atmel-pcm: hw_params: DMA for SSC0 PCM out initialized (dma_bytes=32768, period_
size=8192)
transmit enabled SSC_SR=0x000104c3
atmel-pcm:buffer_size = 8192,dma_area = ffc02000, dma_bytes = 32768
atmel-pcm: trigger: period_ptr=239ca000, xpr=597458944, xcr=4096, xnpr=597467136
, xncr=4096
sr=66755 imr=0
然后就是等待
最终出现
atmel-pcm:buffer_size = 8192,dma_area = ffc02000, dma_bytes = 32768
atmel_ssc_shutdown: transmit disabled SSC_SR=0x000104c3
atmel_ssc_dau: Stopping clock




------解决方案--------------------
探讨
查看没有PCM的接口

#amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'Master Playback ZC',0
Simple mixer control 'Sidetone',0
Simple mixer control 'Line',0
Simple mixer control 'M……

------解决方案--------------------
你可以在播放的时候,用printk打印dam里面的内容,看看dma里有没有数据。 我一般是中断函数里打印。