当前位置: 技术问答>linux和unix
音频驱动问题
来源: 互联网 发布时间:2016-10-31
本文导语: 在arm上移植了alsa-lib-1.0.22和alsa-utils-1.0.22,调试了一周了 现在依然没有声音 用arecord录制wav,发现文件的大小是对的,但是没有声音,GoldWave查看文件没有波形。 用aplay播放,不出错,但也没有声音, amixer set Master ...
在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
现在依然没有声音
用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
|
这个在android层和驱动层注册的对应的寄存器名字,一般在android层的asound.conf文件中可以找到这接口
|
你可以在播放的时候,用printk打印dam里面的内容,看看dma里有没有数据。 我一般是中断函数里打印。