飞牛fnOS安装了Airplay没有声音找不到声卡的问题

主要问题描述:我在飞牛的Docker里安装了 Airplay, 这样把NAS接一个外接音箱,就可以当成无线音箱来用,直接把手机的音乐播放投到上面来播放。 (文章底部有写我是怎么安装Airplay的)

我的报错如下: 


speaker-test 1.2.8

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5703:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM default
Playback open error: -2,No such file or directory

然后试了 aplay -l  一直报 :

aplay: device_list:274: no soundcards found...

说明找不到声卡啊。


fnOS 可能缺少 ALSA 组件

你的 shairport-sync 报错:

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'

说明 找不到声卡,可能的原因:

  1. 声卡驱动没有安装(ALSA 组件可能缺失)。
  2. 当前用户没有访问音频设备的权限
  3. /dev/snd 目录不存在(系统可能没有加载音频模块)。

尝试修复

1. 检查是否有声卡

aplay -l

如果输出:

aplay: device_list:274: no soundcards found...

说明系统没有检测到声卡。


2. 确保 ALSA 组件完整

sudo apt update && sudo apt install --reinstall alsa-utils pulseaudio -y

然后 重启系统 再试 aplay -l


3. 加载声卡驱动

sudo modprobe snd-hda-intel

如果 modprobe 命令仍然报 not found,说明 modprobe 没有正确安装,可以尝试:

sudo apt install --reinstall kmod -y

然后 再次执行

sudo modprobe snd-hda-intel

4. 确保 /dev/snd 存在

ls -l /dev/snd

如果 /dev/snd 目录不存在,可能是因为 声卡驱动没有加载 或 fnOS 自带的内核不支持 ALSA

如果 /dev/snd 存在,但你的用户没有权限访问,可以试试:

sudo usermod -aG audio $USER
newgrp audio

我的问题是最终靠这两行解决了,

第一行:sudo usermod -aG audio $USER

  • usermod:修改用户属性的命令。
  • -aG audio
    • -a:**追加(append)**用户到一个组,而不会移除原来的组。
    • G audio:把用户添加到 audio 组audio 组有访问声卡的权限。
  • $USER:代表当前用户。

💡 作用:把你的用户添加到 audio 组,赋予访问声卡的权限。


第二行:newgrp audio

  • newgrp:让当前 shell 立即应用新的用户组权限,而不用重启或重新登录。
  • audio:切换到 audio 组,使新权限立即生效。

💡 作用:让 usermod 变更的权限立即生效,不需要注销或重启。

然后再尝试 shairport-sync


5. 试试 pulseaudio

如果 ALSA 还是无法正常工作,尝试使用 pulseaudio

pulseaudio --start

然后再运行 shairport-sync


总结

飞牛的 fnOS 可能 精简了 ALSA 或者 没有完整的音频驱动,你可以:

  1. 检查 ALSA 是否安装完整sudo apt install --reinstall alsa-utils pulseaudio -y
  2. 检查声卡驱动sudo modprobe snd-hda-intel
  3. 检查 /dev/snd 目录ls -l /dev/snd
  4. 确保用户有 audio 组权限sudo usermod -aG audio $USER
  5. 尝试 pulseaudiopulseaudio --start

你先试试这些方法,看哪一步能解决问题。

在飞牛OS上的Docker里安装Airplay

先说说坑吧, 我一开始是在Docker的图形界面里安装的,一直都不成功,要么安装报错, 要么安装成功了,无法使用,要么就是Airplay也能正常启动,但是一播放音乐就自己停服了。 

所以,我去命令行里来安装了,下面这要安装;

sudo docker run -d --name airplay   --network=host   --device /dev/snd:/dev/snd   mikebrady/shairport-sync

最后上一张截图, WangNas就是我的NAS无线音箱了:  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值