Управление веб-приложением с помощью USB-миди-контроллера - PullRequest
4 голосов
/ 03 января 2011

Я бы хотел подключить USB-миди-контроллер (88-клавишная клавиатура) и использовать клавиши для управления веб-приложением.

Я видел людей, использующих веб-приложения для управления роботами на базе Arduino, так что думаете, что это возможно?

В1 это возможно?Или это уже сделано?Q2, если это возможно, не могли бы вы описать процесс?Q3 вы можете публиковать ссылки на любые примеры / библиотеки с открытым исходным кодом?

1 Ответ

0 голосов
/ 03 января 2011

Можете ли вы объяснить немного больше о том, что вы хотите сделать?Было бы несколько разных способов сделать это.

  1. Использовать существующую библиотеку MIDI для ответа на события MIDI, а затем отправлять серию нажатий клавиш для выполнения действий.

  2. Создайте собственный сервер, который работает на вашем компьютере и общается с вашим устройством.Затем вы можете подключиться к вашему «MIDI-серверу» и передавать и получать данные с помощью сокетов (т. Е. Вы можете создать поверхность контроллера в Flex или Silverlight, если хотите).Я использовал такой подход для создания приложения контроллера MIDI на телефоне Android.

  3. Создайте веб-сайт, который общается с вашим устройством.Это будет использовать почти те же методы, что и # 2.Я действительно получил это, работая с веб-сайтом ASP .NET, это было очень простое подтверждение концепции - вы загружаете страницу, и она воспроизводит заметку на вашем MIDI-устройстве.С библиотекой, о которой я упоминаю ниже, вы просто «открываете» свое устройство, затем прослушиваете данные и передаете данные.

Я создал свою собственную библиотеку MIDI через TCP / IP на основе этого примера кода в CodeProject: http://www.codeproject.com/KB/audio-video/midiwrapper.aspx.

Я планировал открыть SourcingКод не успел подготовить его.Если есть достаточно заинтересованных, я могу быть уверен, что выложу это куда-нибудь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...