Chinaunix首页 | 论坛 | 博客
  • 博客访问: 411044
  • 博文数量: 380
  • 博客积分: 75
  • 博客等级: 民兵
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-05 15:35
文章分类

全部博文(380)

文章存档

2014年(1)

2013年(2)

2012年(19)

2011年(358)

我的朋友

分类:

2011-09-05 18:34:32

原文地址:I2S UDAl1380 作者:chenxibing008

这是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的音频对声卡和解码器有较高要求。

阅读(467) | 评论(0) | 转发(0) |
0

上一篇:Beep Driver

下一篇:High Speed UARTs

给主人留下些什么吧!~~