Я использую Unity 2018.2.12 и DirectShow.Net
Я создал простой код, который перечисляет устройства захвата видео.Он находит устройства, но не может получить их свойство FriendlyName при работе в качестве сценария Unity.
using DirectShowLib;
using UnityEngine;
namespace DirectShow.Net_Tests {
public class CodeForUnity : MonoBehaviour {
void Start() {
foreach (var device in DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice))
{
Debug.Log(
$"Device Name:\t{device.Name}\n" +
$"\tDevice FriendlyName (Property):\t{device.GetPropBagValue("FriendlyName")}\n" +
$"\tDevice Class GUID:\t{device.ClassID}\n");
}
}
}
}
Этот же код может получить свойство FriendlyName, работающее в качестве консольного приложения.
using System;
using DirectShowLib;
namespace DirectShow.Net_Tests {
static class Program {
public static void Main(string[] args) {
foreach (var device in DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice))
{
Console.WriteLine(
$"Device Name:\t{device.Name}\n" +
$"\tDevice FriendlyName (Property):\t{device.GetPropBagValue("FriendlyName")}\n" +
$"\tDevice Class GUID:\t{device.ClassID}\n");
}
}
}
}
Почемуразве это не работает в Unity?