У меня есть 2 Playstation Buzz! USB-контроллеры, так что параллельно могут участвовать 8 человек. Я также знаю, что эти зуммеры могут быть подключены к ПК.
Пример использования: я провожу тренинги по разным вещам (Wireshark, отладка, ...). После урока я хотел бы провести викторину с участниками. Участники могут выиграть небольшие призы, например, сладости. Раньше я все делал вручную, но иногда возникали споры, кто первый даст ответ. Поскольку все тренировки глубоко технические, я подумал, что использование зуммеров будет хорошим трюком.
Я сейчас ищу программное обеспечение, которое
Это уже все. Поддержка оставшихся 4-х кнопок мне не нужна, так как ответ на вопрос беру на себя.
Я знаю Buzzmania , но это уже слишком автоматизировано, и я не хочу заранее генерировать вопросы. Я не мог заставить You not know JackBuzz работать.
Вау, я не думал, что это будет так просто. Я все установил и запустил за 45 минут с помощью пакета BuzzIO Nuget для .NET.
Вот минимальное приложение без объектно-ориентированного дизайна.
using System;
using System.Collections.Generic;
using System.Linq;
using BuzzIO;
namespace BuzzExample
{
class Program
{
private static IEnumerable<IBuzzHandsetDevice> _handsets;
static void Main()
{
_handsets = new BuzzHandsetFinder().FindHandsets();
foreach (var handset in _handsets)
{
handset.SetLights(true, true, true, true);
handset.ButtonChanged += HandsetOnButtonChanged;
}
Console.WriteLine("Press Enter to end");
Console.ReadLine();
}
private static void HandsetOnButtonChanged(object sender, BuzzButtonChangedEventArgs args)
{
for (int i = 0; i < args.Buttons.Length; i++)
{
Console.Write($"{i}: ");
if (!args.Buttons[i].Any) Console.Write("None");
if (args.Buttons[i].Blue) Console.Write("Blue ");
if (args.Buttons[i].Green) Console.Write("Green ");
if (args.Buttons[i].Yellow) Console.Write("Yellow ");
if (args.Buttons[i].Orange) Console.Write("Orange ");
if (args.Buttons[i].Red) Console.Write("Buzzer ");
Console.WriteLine();
}
Console.WriteLine();
var lights = new bool[4];
for (int i = 0; i < args.Buttons.Length; i++)
{
lights[i] = args.Buttons[i].Any;
}
_handsets.First().SetLights(lights[0], lights[1], lights[2], lights[3]);
}
}
}
Совет для Windows 10: контроллер может быть установлен как «игровой контроллер, совместимый с HID». В этом случае библиотека может не найти подключенные контроллеры. Чтобы это исправить, зайдите в диспетчер устройств и переключите драйвер на «HID-совместимое устройство». У меня идентификатор поставщика (VID) 054C для Sony и идентификатор продукта (PID) 1000.
Для звука зуммера я использовал Audacity и сгенерировал следующий звук
Для воспроизведения звука вы можете использовать встроенный ресурс и SoundPlayer:
// Playing sound from embedded resource
Stream buzzerStream = Resource.buzz;
buzzPlayer = new SoundPlayer(buzzerStream);
...
buzzPlayer.Play();