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欢迎分享,转载请注明来源:内存溢出
评论列表(0条)