码迷,mamicode.com
首页 > 其他好文 > 详细

利用ALSA插件将5.1通道音频通过2通道立体声卡播放的配置(.asoundrc配置文件)

时间:2015-08-21 21:38:35      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:downmix   alsa   5.1声道   立体声   

刚接触ALSA,自己学没人带的话真的挺费劲。网上查了很多资料都没有这方面的说明,最后看官方插件配置文档根据个人理解写的心得:
(1)先来看看route插件说明:

这个插件可以转换channels和改变音量。配置说明如下:

pcm.name {
type route # Route & Volume conversion PCM
slave STR # Slave name
# or
slave { # Slave definition
pcm STR # Slave PCM name
# or
pcm { } # Slave PCM definition
[format STR] # Slave format
[channels INT] # Slave channels
}
ttable { # Transfer table (bi-dimensional compound of cchannels * schannels numbers)
CCHANNEL {
SCHANNEL REAL # route value (0.0 - 1.0)
}
}
}
(2)再来看看2声道立体声转换为单声道的配置例子:
pcm.makemono {
    type route
    slave.pcm "hw:0"
    ttable {
        0.0 1    # in-channel 0, out-channel 0, 100% volume
        1.0 1    # in-channel 1, out-channel 0, 100% volume
    }
}

(3)根据上面的例子来配置ALSA,使2声道的声卡输出5.1腔的音频。说明:5.1通道的音频,有6个通道:左前,右前,左后,右后,中间,低炮音。下面的配置是假设解码出来的数据 0 通道对应左前声道, 1对应右前,2对应左后,3对应右后,4对应中间声道,5对应低炮音声道。输出的声卡只支持两个通道(立体声) 
pcm.downmix {
    type route
    slave.pcm "hw:0.0"
    ttable {
        0.0 1    # in-channel 0, out-channel 0, 100% volume
        1.1 1    # in-channel 1, out-channel 1, 100% volume
        2.0 1
        3.1 1
        4.0 0.5
        4.1 0.5
        5.0 0.5
        5.1 0.5   #意思是输入第5通道的数据传输给输出通道1,并且音量降低一半
    }
}
经过上面配置可用下面的图来做映射:
技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

利用ALSA插件将5.1通道音频通过2通道立体声卡播放的配置(.asoundrc配置文件)

标签:downmix   alsa   5.1声道   立体声   

原文地址:http://blog.csdn.net/u010312436/article/details/47838171

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!