首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iec958 S/PDIF输入声卡CM106上没有声音

iec958 S/PDIF输入声卡CM106上没有声音
EN

Unix & Linux用户
提问于 2021-11-12 11:44:50
回答 1查看 694关注 0票数 2

Issue :数字输入没有声音S/PDIF / IEC958。

Device /软件: USB外部声卡: CM106 -Ubuntu20.04LTS- GUI :Gnome-闪回

Config音频: FreeBox播放器(法国互联网电视提供商)-数字输出S/PDIF ===>声卡-数字输入S/PDIF

FreeBox播放器配置:主音输出S/PDIF,有无通

数字输入iec958在图形控制或脉冲命令行应答中可见。但是声音计(呜呜计)仍然是空的,没有声音,没有信号。

我没有任何其他声音设备检查FreeBox球员S/PDIF输出。

是否有任何文件,我可以检查,在/sys,/proc或/dev,看看是否有任何数字信号/数据?

iec958输入是可见的,但没有声音/信号?为什么?

有什么特别的事情可以让它发挥作用吗。

如何解决此问题?从哪里开始?什么步骤?

它使很多周末,我试着修复它,阅读论坛,我不记得所有我试过的细节在这里。我会回答你关于这个疑难解答的问题。

谢谢你的帮助。

EN

回答 1

Unix & Linux用户

发布于 2022-05-31 15:28:20

如果您在pavucontrol中看到一个输入级别,那么您的卡将接收到输出,您应该能够记录它。

根据我的经验,除了设置恒定的记录/回放之外,没有办法获得脉冲音频来配置您的卡来传递这条线。

您可能可以使用amixer更改此选项,但这是非常特定于卡的,而且您的卡可能根本无法做到这一点,因此您可能有一个常量(cpu消耗)的回送解决方案。

如果您的问题是您没有看到输入上的任何内容,那么您将需要配置您的卡:在pavucontrol中,将配置下的配置文件更改为包含“数字立体声(IEC958)输入”的内容。

更新:

我已经对我的CM106设备进行了实验,我认为linux驱动程序不支持将spdif混合到输出中。

但是,根据数据表(http://www.steila.com/usb4io/CMedia/CM106--L_F-Datasheet-1.3.pdf),该卡确实支持它,实际上,有些实验允许我将一个值写入寄存器1,从而启用SPDIFMIX (hidraw1是与usb声卡相对应的hidraw设备,插入时检查dmesg ):

代码语言:javascript
复制
perl -e 'print pack "H*", "002001b001"' >/dev/hidraw1

这将寄存器设置为启用电源的默认值(00b0) +启用SPDIFMIX (01b0) (在小endian中)。

下面的shell skript攻击设置了每个"USB声音设备“上的位--如果与错误的卡一起使用可能会很危险:

代码语言:javascript
复制
#!/bin/sh

cd /sys/class/hidraw || exit
for dev in *; do
   set "$dev"/device/input/*/name
   read name <"$1"
   if [ "$name" = "USB Sound Device" ]; then
      echo "enabling SPDIFMIX on $dev"
      printf "\000\040\001\260\001" >/dev/"$dev"
   fi
done
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/677207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档