gpt4 book ai didi

php - 如何最好在 PHP 中找到具有特定 $string 的设备/开发人员

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:08 24 4
gpt4 key购买 nike

我正在从/向 MIDI 设备读取/写入。该设备(部分)列为“ME-50”,例如一个 lsusb。我可以使用什么命令来识别“ME-50”链接到的确切设备?在我的主 PC 中,例如它链接到/dev/snd/midiC0D0,但也可能是/dev/snd/midiC2D0,具体取决于首先插入的内容。

类似于:

for all devices in /dev/snd/midi* {
if substring in the device = "ME-50"
return device (/dev/snd/midiC0D0 or midiC1D0 or midiC2D0....)
}

一个 bash 命令就可以了,但我正在用 PHP 编程,所以如果 PHP 有一些简单的东西可以找到设备....

谢谢阿真

最佳答案

查看路径 /dev/snd/by-id 如果幸运的话您的设备将显示一些可识别的名称。

然后使用scandir或类似的方法迭代路径。

如果你想从链接中获取直接路径,你可以使用readlink .

编辑:

如果 udevadm 可用,该命令会返回有关设备的大量信息,其中可能包含可识别的位。以下代码段迭代可用的 MIDI 设备并将所有信息存储在一个数组 ($result) 中,例如udevadm info -q all/dev/snd/midiC0D0 中的所有行。剩下的任务将是识别有用的信息。

<?php

if ($handle = opendir('/dev/snd')) {
while (false !== ($entry = readdir($handle))) {
// detect all entries starting with "midi"
if (strpos($entry, "midi") === 0) {
exec(escapeshellcmd("udevadm info -q all /dev/snd/$entry"), $result);
// $result contains the lines from the udevadm call
print_r($result);
print "\n";
}
}

closedir($handle);
}

关于php - 如何最好在 PHP 中找到具有特定 $string 的设备/开发人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46373351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com