美好的一天。我用DShow.Net/ DirectX.Capture控制我的usb网络摄像头。它找到并初始化所有连接的设备,但它显示设备的名称,以拥有数字(1.2.3 ...)的按钮。我想显示设备的全名。我的代码示例:
if (filters.VideoInputDevices != null)
{
for (var i = 0; i < filters.VideoInputDevices.Count; i++)
{
var device = filters.VideoInputDevices[i];
var btn = new Button();
btn.Text = i.ToString();
btn.ForeColor = Color.White;
btn.BackColor = Color.DarkSlateBlue;
btn.Width = 50;
btn.Click += (obj, evt) =>
{
var thisButton = (Button)obj;
if (int.Parse(thisButton.Text) != deviceName)
{
if (capture != null)
{
capture.Dispose();
capture.Stop();
capture.PreviewWindow = null;
}
deviceName = int.Parse(thisButton.Text);
preview(deviceName);
}
};
flowLayoutPanel1.Controls.Add(btn);
}
}
答案 0 :(得分:2)
更改
btn.Text = i.ToString();
到
btn.Text = device.Name;
然后
if (int.Parse(thisButton.Text) != deviceName)
到
if (thisButton.Text != deviceName)
请注意,在StackOverflow上提出问题的经验法则是:
答案 1 :(得分:0)
你必须做这样的事情。
QWebEngine
//改变这里 var btn = new Button(); 在此处输入代码 btn.text = Device [1] .text;'
///我认为其余的代码是相同的