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

刚接触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,并且音量降低一半
    }
}
经过上面配置可用下面的图来做映射:

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

时间: 2024-08-06 17:53:00

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

利用jstree插件轻松构建树应用

利用jstree插件轻松构建树应用 最近完成了项目中的一个树状应用,第一次接触了jstree这个插件,总的来说它的官方文档还是比较详细的,但是在使用过程中还是出现了一些问题,下面我就来谈谈这款插件的使用和心得. 首先项目需要构建一棵树,利用jstree插件我们先在页面上静态的把这棵树渲染出来,参照官方文档(http://www.jstree.com/),代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&g

jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)

使用jQuery ui首先需要引入jQuery类库,jQuery ui js脚本和jQuery ui css样式表.代码示例如下: <script src="js/jquery-1.7.1.js"></script> <script src="js/jquery-ui-1.8.18.custom.min.js"></script> <link rel="stylesheet" type=&qu

利用AdvancedNewFile插件创建新的文件

与ctrl+N创建新的文件不同的是,利用AdvancedNewFile插件你可以直接创建并修改保存路径,不用保存之后在修改路径. 第一步,ctrl+shift+P 输入pci模糊查询package control install package 第二步:输入adv 找到AdvancedNewFile插件 点击安装. 第三步:安装完成之后,利用 ctrl+alt+N 快捷键,在编辑器下方输入框 输入你想创建的文件以及保存路径,你也可以不改路径,直接保存在默认路径,只需写你想要的文件.如图:

怎么实现在jenkens页面配置sonar,以及如何利用cobertura插件实现sonar页面显示测试覆盖率

最近我在工作中遇到需要给项目中每个模块配置Sonarqube,来看看测试用例覆盖的情况.在这个过程中遇到了一些问题,也查了很多资料.现在记录一下具体应该怎么配置. 先展示一下实现的效果: 图一 It will show: 图二 现在来看看具体配置: 要enable Sonarqube, 需在 job --> configure --> Post-build Actions 配置Branch 和 JDK 信息: 图三 配置好了以后,SonarQube 可以在页面上显示出来了,点击进去,效果图:[

ASP.NET 利用第三方插件DocX产生Word 之 打印批量打印

客户需求: 接上一篇需求说起~~~ 上一篇说客户需要固定格式打印(定义模板),实现了之后,客户又闲一张一张打印有些麻烦,要进行批量打印. 客户的需求就是这样,满足了一个又一个~~~没办法,做呗!毕竟客户给钱还是很痛快的! 解决办法: 还是利用DocX插件进行处理. DocX是一个以非常直观简单的方式操作Word 2007/2010文件的轻量级.NET组件.它的速度非常快,而且不需要安装微软的Office软件. 附上DocX插件官网:https://docx.codeplex.com/ 废话不说,

利用Chrome插件向指定页面植入js,劫持 XSS

资源来自:http://www.2cto.com/Article/201307/225986.html 首页 > 安全 > 网站安全 > 正文 利用Chrome插件向指定页面植入js,劫持 XSS,一些猥琐的想法与实践 2013-07-08      0个评论       收藏    我要投稿 0x00 Chrome插件--------------------------这个想法是昨天看到@紫梦芊 的帖子想起来的.想法如下:Chrome插件是可以通过manifest.json的控制,向指

服务器node中间间利用express插件托管静态文件

const express =require('express'); const app=express(); //实现静态资源服务 let server=app.use(express.static('public')); server.listen(3000,()=>{ console.log('public文件夹已经托管到服务器') }) 在本目录创建public文件夹,添加虚拟目录 // 服务器node中间间利用express插件托管静态文件 const express =require

SpringCloud或SpringBoot+Mybatis-Plus利用mybatis插件实现数据操作记录及更新对比

引文 本文主要介绍如何使用mybatis插件实现拦截数据库操作并根据不同需求进行数据对比分析,主要适用于系统中需要对数据操作进行记录.在更新数据时准确记录更新字段 核心:mybatis插件(拦截器).mybatis-Plus实体规范.数据对比 1.相关技术简介 mybatis插件: mybatis插件实际上就是官方针对4层数据操作处理预留的拦截器,使用者可以根据不同的需求进行操作拦截并处理.这边笔者不做详细描述,详细介绍请到官网了解,这里笔者就复用官网介绍. 插件(plugins) MyBati

利用Notepad++插件(JSToolNpp):让JS代码格式化对齐

http://www.ycyjkj.com/post-663.html 程序员或者正在学习的同学一般都会遇到一个问题,看别人的源码,只是一行,没有分开,让人看的很别扭,也可能是作者故意这样做的,也可以是无意而为之,但是这样对阅读代码肯定不方便. 易捷博客网找到了这种方法,利用插件 让JS代码对齐 看下具体的操作步骤 下载插件:打开Notepad++ ,然后 插件 --  Plugin Manager -- Show Plugin Manager 安装插件:找到 JsTool ,选中,然后点击In