
Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。
(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。
(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
这篇文章将为大家详细讲解有关Linux下如何通过两个或多个输出设备播放声音,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 Linux 上处理音频是一件很痛苦的事情。Pulseaudio 的出现则是利弊参半。虽然有些事情 Pluseaudio 能够做的更好,但有些事情则反而变得更复杂了。处理音频的输出就是这么一件事情。
如果你想要在 Linux PC 上启用多个音频输出,你只需要利用一个简单的工具就能在一个虚拟j接口上启用另一个声音设备。这比看起来要简单的多。
你可能会好奇为什么要这么做,一个很常见的情况是用电脑在电视上播放视频,你可以同时使用电脑和电视上的扬声器。
安装 Paprefs
实现从多个来源启用音频播放的最简单的方法是是一款名为 “paprefs” 的简单图形化工具。它是 PulseAudio Preferences 的缩写。
该软件包含在 Ubuntu 仓库中,可以直接用 apt 来进行安装。
sudo apt install paprefs
安装后就能狗启动这款程序了。
启动双音频播放
虽然这款工具是图形化的,但作为普通用户在命令行中输入paprefs来启动它恐怕还是要更容易一些。
打开的窗口中有一些标签页,这些标签页内有一些可以调整的设置项。我们这里选择***那个标签页,“Simultaneous Output。”
Paprefs on Ubuntu
这个标签页中没有什么内容,只是一个复选框用来启用该设置。
下一步,打开常规的声音***项。这在不同的发行版中位于不同的位置。在 Ubuntu 上,它位于 GNOME 系统设置内。
Enable Simultaneous Audio
打开声音***项后,选择 “output” 标签页。勾选 “Simultaneous output” 单选按钮。现在它就成了你的默认输出了。
测试一下
用什么东西进行测试随你喜欢,不过播放音乐总是可行的。如果你像前面建议的一样,用视频来进行测试也没问题。
一切顺利的话,你就能从所有连接的设备中听到有声音传出了。
这就是所有要做的事了。此功能最适用于有多个设备(如 HDMI 端口和标准模拟输出)时。你当然也可以试一下其他配置。你还需要注意,只有一个音量控制器,因此你需要根据实际情况调整物理输出设备。
关于“Linux下如何通过两个或多个输出设备播放声音”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
在Linux系统上有两种驱动程序可以弥补Linux系统的不足。一种是OSS(开放声音系统),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买,否则每次启动后,你只可以免费使用240分钟;ALSA是自由软件,可以免费使用。一、安装ALSA声卡驱动程序
1.ALSA包含下面四个软件包:
alsa-driver-0.5.9.tar.bz2
alsaconf-0.4.3b.tar.gz
alsa-lib-0.5.9.tar.bz2
alsa-utils-0.5.9.tar.bz2
2.先安装alsa-driver-0.5.9.tar.bz2这个文件:
(1)cp alsa-driver-0.5.9.tar.bz2 /tmp
将alsa-driver-0.5.9.tar.bz2 拷到/tmp目录下。
(2)bunzip2 alsa-driver-0.5.9.tar.bz2
解压缩这个文件,会在/tmp目录下生成一个文件叫做alsa-driver-0.5.9.tar。
(3)tar xvf alsa-driver-0.5.9.tar
将会在/tmp目录下产生一个子目录叫做alsa-driver-0.5.9,alsa的所有文件就存放在这个目录下。
(4)cd alsa-driver-0.5.9
进入alsa的驱动程序所存放的目录,准备配置和编译它。这时你可以看一下目录下的INSTALL文件来了解安装的步骤和注意事项。
(5)依次运行下面三个命令:
./configure
make install
./snddevices
3.编辑/etc/ modules.conf文件
这个文件的配置虽然比较麻烦,但用alsaconf-0.4.3b.tar.gz也可以配好它,运行命令:
(1)cp alsaconf-0.4.3b.tar.gz /tmp
将alsaconf-0.4.3b.tar.gz 拷到/tmp目录下。
(2)tar zxvf alsaconf-0.4.3b.tar.gz
解压缩这个文件,会在/tmp目录下生成一个子目录叫做alsaconf-0.4.3b。
(3)./alsaconf
会出现一个窗口叫你选择声卡,像SoundBlaster及ESS1868、S3_SonicVibes_PCI、Ensoniq_AudioPCI_ES1370 1371等,很多目前的kernel还不支持的声卡它都可以支持了。
选好声卡之后系统会问你一些问题,都回答OK,然后会回到第一个画面问你要不要继续设第二张声卡,选“No_more_cards”退出即可。完成这个步骤之后,/etc/modules.conf这个文件就基本上自动配置好了,重新启动电脑后声卡就可以发声了。
4.如果还不行,那么你就还需要安装alsa-lib和alsa-utils,安装方法和alsa-driver一样,注意要先安装alsa-lib,再安装alsa-utils。将文件拷到/tmp目录,解压缩,然后运行命令make和make install,具体请参照上面alsa-driver的安装步骤。
安装后到alsa-utils(解开alsa-utils-0.5.9.tar.bz2会产生该目录)目录下的alsamixer子目录执行
./alsamixer
二、安装OSS声卡驱动程序
1、OSS声卡只有一个安装包:osslinux393q-2217-UP.tar.gz。
2.启动Linux,把下载下来的osslinux393q-2217-UP.tar.gz拷到一个临时目录中,如:
cp osslinux393q-2217-UP.tar.gz /tmp/
cd /tmp
tar zxvf osslinux392v-glibc-2212-UP.tar.gz
此时文件已经解开,你可以看到在当前目录下有四个文件:INSTALL、LICENSE、oss-install和oss.pkg文件,其中INSTALL是安装帮助文件,如果你是第一次安装一定要好好看一看。
3.配置
以root用户身份运行oss-install:
./oss-install
如果出现了“No such file or directory”的错误信息,那是因为你下载的OSS驱动程序的版本和你用的Linux不匹配,可以重新到上述站点,下载相应的驱动程序就可以了。
这时候一般会提示:你的Linux以模块的形式加载了声卡驱动程序,要不要安装程序自动将它去掉?选择去掉就可以了。
接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss)。oss一般可以自动检测出大部分声卡,你可以看看结果是不是和你的声卡相符,如果相符,直接在菜单中选择“Save changes and Exit..”即可。对于那些不能直接探测到的声卡,你就只有用手工方法选择了。如对Yamaha OPL3-SAX (YMF715/YMF719) chip 可以选择:“Generic Yamaha OPL3-SAx (YMF715/YMF719) non-PnP”driver。
4.打开/关闭声卡
在默认的安装目录/usr/local/bin里有一个soundon命令,它可以用来打开oss驱动,同样的你也可以用soundoff命令关闭oss驱动。
5.疑难解决
有时也可能出现这样的情况,你的声卡检测到了,而且安装过程也好像一切正常,但是声卡就是不能正常工作。不要急,OSS还有可以让你手工调节设置参数的地方,其实,在“Save changes and Exit”的同一个窗口中,还有一个选项“Manual Configuration”,它就是让你手工调整设置参数的,你可以在这里设置声卡的IO、DMA等参数。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)