linux中把声卡当作什么设备

linux中把声卡当作什么设备,第1张

声卡是有序访问的,属于字符设备

Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。

(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。

(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。

kali linux因为默认使用PulseAudio,默认声卡、HDMI 输出、独立声卡比较多的时候,设置错误,有的播放器输出采用的默认输出,所以会频繁遇到声卡独占或无声的情况,即只能一个程序有声音,其它的程序都无法占用声卡,或因为输出错误导致无声。

尤其是用ALSA驱动上独立声卡的时候更是如此。

解决方案:

1、重新安装alsa,并进行配置

apt-get install alsa-utils alsa-oss

2、接着使用alpay查看需要使用的声卡

root@huawei:~# aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: PCH [HDA Intel PCH], device 0: ALC662 rev3 Analog [ALC662 rev3 Analog]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 2: AG06AG03 [AG06/AG03], device 0: USB Audio [USB Audio]

  Subdevices: 0/1

  Subdevice #0: subdevice #0

这里可以看到原因,电脑由三声卡,集成声卡、HDMI 输出、AG03,但是默认是在集成的模拟声卡输出信号的。

3、修改配置文件,设置默认声卡/

leafpad /etc/asound.conf

修改默认声卡配置强制独立声卡输出信号,重启系统,问题解决。

1.下载linux版本的官方驱动包Realtek官网 http://www.realtek.com/downloads/ 点击右下方的 HD Audio Codec Driver然后点击 I accept 神马的进入下一页然后在最底下有linux版本的驱动,根据内核(一般都是2.6)版本下载驱动包2.编译环境 ,build-essential 里面是最常用的编译工具 sudo apt-get install build-essential如果安装过会有提示3.开始安装1)解压源代码包 tar xfvj LinuxPkg_5.16rc25.tar.bz2 cd realtek-linux-audiopack-5.16 tar xfvj alsa-driver-1.0.24-5.16rc25.tar.bz22)编译源代码 cd alsa-driver-1.0.24 sudo ./configure --with-cards=hda-intel sudo make sudo make install3)重启机器 sudo reboot


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7211829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存