I2S UDAl1380

这是PHY3250的驱动,使用UDA1380芯片。

问题:不能播放mp3

已经在内核中配置了声卡:
CONFIG_SND_SOC=y
CONFIG_SND_LPC3XXX_SOC=y
CONFIG_SND_LPC3XXX_SOC_I2S=y
CONFIG_SND_LPC32XX_USEI2S1=y
CONFIG_SND_LPC3XXX_SOC_I2S_UDA1380=y
CONFIG_SND_SOC_UDA1380=y
 
在启动信息中也已经看到了声卡:
Advanced Linux Sound Architecture Driver Version 1.0.17.
ASoC version 0.13.2
UDA1380 Audio Codec 0.6<6>asoc: UDA1380 <-> lpc3xxx-i2s1 mapping ok
ALSA device list:
  #0: LPC3XXX_I2S_UDA1380 (UDA1380)
 
但是使用madplay或者mp3play播放mp3的时候却出现错误。
 
使用madplay的情况,能够显示歌曲的基本信息,但是耳机出现一点杂音后便什么也没有了:
[root@nxp /]# madplay 1667716_030949.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: ?à2êμ?1t′? ???àê÷μ?ó???2?
         Artist: ì·???? ???àê÷μ?ó???2?
          Album: ???àê÷μ?ó???2?
          Genre: Blues
        Comment: ???àê÷μ?ó???2?
 
使用mp3play的时候直接遇到错误:
[root@nxp /]# mp3play 1667716_030949.mp3
ERROR: Unable to open MP3 Audio stream '1667716_030949.mp3'
 

尝试

我手里面有几首歌曲,文件信息分别如下:
 
文件名              采样率             比特率                       播放情况
nrry.mp3          44KHz             128K                          能很好的播放
qhc.mp3          44kHz               179K(VBR)              不能很好的播放
TWW.mp3       16kHz              40k                             不能播放
        xzgn.mp3         44kHz               192k                          不能很好的播放
        bh.mp3             48kHz               128k                         不能很好的播放
 
使用madplay,3首歌都不能播放。使用mp3play的情况如下:
任何时候都能正常播放nnry.mp3
必须播放nnry.mp3之后才能正常播放qhc.mp3、xzgn.mp3、nh.mp3
无法播放tww.mp3。
 
 

解决

尚未解决。
目前仅能很好的支持44k采样率和128K(CBR)压缩的音频文件。
不能支持低于44k采样率的音频,也不能很好的支持VBR压缩的音频。
对于非44Hz、128k的音频文件均不能很好的支持。
 
运行amidi命令后也能够播放高于44k采用了的音频了,CBR和VBR。
运行amixer命令好像也可以。
 

附:什么是音频采样率/比特率

关键词:音频采样率, 音频采样级别, mp3 采样率, mp3声音采样率, cd的采样频率 ,采样频率 ,音频流比特率
 
采样率是指导每秒钟音频采样的次数单位是赫兹Hz,也就是次数
比特率是指每次采样所包含的音频的数据流量.单位是bps
 
所以,采样率越高,所录制的声音就越接近原始声音
 
正常情况下,我们接触到的媒体的采样率都是44kHZ,也就是每秒钟包含了44k(次数,不是容量)的音频数据.因为这是CD的采样率,大部分情况下我们不会去更改采样率.网络的mp3等音频大多也是从CD上转换过来的.所以采样率都是44Khz
 
而比特率就不同了.不同的CD有不同的比特率,而转换成的mp3等音频文件可以降低比特率来获得更小的体积.
 
一般来说市面上销售的正版CD的比特率一般是在800Kbps-1200Kbps之间,(超过1000Kbps的CD的音质可以说是相当好,日本的CD大部分在1000以上,国内大多在800-900之间)当然转成mp3可以只有选择比特率,网络上流行的一首歌大约在4-5MB的mp3的比特率一般是128Kbps....比特率越高的音频文件体积越大,音质也越接近原始音质.
 
降低比特率会降低音质,但从低比特率的音频文件转换成高比特率的音频不会提升音质.但是从低比特率转换到高比特率可能会解决一些CD播放器播放低播放器的爆音问题
 
比特率有CBR(常数比特率)和VBR(可变比特率)之分,采用VBR的音频对声卡和解码器有较高要求。

转载于:https://www.cnblogs.com/elect-fans/archive/2012/04/28/2475162.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值