Bluetooth MIDI Connect
С помощью этого приложения вы можете подключить клавиатуру или контроллер к службе Android MIDI, а затем выбрать и использовать устройство с вашим любимым приложением, которое поддерживает MIDI. MIDI BLE пара, MIDI BTLE пара, Bluetooth LE MIDI.
ПРИМЕЧАНИЕ: ПРИЛОЖЕНИЕ НУЖНО РАЗРЕШИТЬ НА РАЗМЕЩЕНИЕ ДЛЯ УСТРОЙСТВ BLUETOOTH. Приложение не собирает, не отправляет и не хранит ваше местоположение!
Bluetooth MIDI Connect протестирован и работает с:
— YAMAHA MD-BT01 (рекомендуется)
— YAMAHA UD-BT01
— AKAI LPK25 БЕСПРОВОДНОЙ
— AKAI LPD8 WIRELESS
— KORG microKEY Air
— HiFing (Kaixinlian) MIDI-адаптер (примечание включено / отключено только для MIDI-сообщений)
Последнее обновление
21 апр. 2019 г.
Музыка и аудио
Безопасность данных
В этом разделе разработчики могут указать, как приложения собирают и используют данные. Подробнее о безопасности данных…
Источник: play.google.com
Зачем нужны 5 Bluetooth приложений в XIAOMI и что станет с телефоном если удалить Bluetooth?
Что за режимы Midi и PTP на Android и как ими пользоваться
Вне зависимости от того, начинающий ли вы пользователь или уже продвинутый юзер телефонов с ОС Android, всегда найдется функция, о которой пользователь не знает. И дело не только в том, что обновления постоянно меняют структуру и функционал. Некоторые опции используются только в исключительных случаях, да и то редко. Об одной из таких функций и пойдет речь. Мы расскажем о режиме Midi и о том, что это и зачем используется в Android.
Что такое режим Midi
Эту аббревиатуру слышал, наверное, каждый, кто когда-нибудь сталкивался с электронной музыкой. Так называется специальная клавишная клавиатура, на которой у каждой клавиши запрограммирован отдельный звук. В общем, в телефонах эта функция выполняет обратную задачу, а именно воспроизводит звук, приходящий с другого устройства. Обычно принцип работы выглядит следующим образом: пользователь подключает компьютер к телефону через USB, настраивает нужный тип подключения. После в настройках звука появляется новое устройство, определяемое как динамик.
Как им пользоваться
- Подключите гаджет к компьютеру через USB-кабель. Кстати, будет здорово, если ваш телефон подключается через type-c, так качество передаваемого медиа будет значительно выше.
- На телефоне откроется меню выбора типа подключения.
- Выберите протокол MIUI.
- В настройках звука компьютера выберите новое появившееся устройство. В Windows 10 это делается кликом по значку динамика в трее и выбором устройства из выпадающего списка.
Готово. Попробуйте воспроизвести звук. Заметьте, что его громкость теперь регулируется не только на компьютере, но и на смартфоне с андроидом.
Режим PTP
Описанная выше технология может не особо впечатлила вас, но она, как минимум, полезна в частых случаях. Вы удивитесь, но смартфон может выступать не только в роли динамика, но и в качестве фотоаппарата или веб-камеры для компьютера. Для этого в интерфейсе необходимо выбрать режим передачи PTP.
Теперь компьютер определяет подключенное устройство как камеру. Кстати, приложения для работы с камерой смогут напрямую работать с телефоном.
Благодарим за прочтение. Знаете еще способы использования телефона в качестве периферии? Расскажите о них в комментариях.
Источник: it-tehnik.ru
Частый вопрос: как включить MIDI на моем Android?
Перейдите в «Настройки»> «Параметры разработчика»> «Сеть» и установите флажок «MIDI» в диалоговом окне «Выбор конфигурации USB». При подключении к USB-хосту потяните вниз от верхнего края экрана, выберите запись USB для, а затем выберите MIDI.
Как использовать MIDI на Android?
На устройстве Android A:
- Проведите пальцем вниз от верхнего края экрана.
- Выберите значок USB для зарядки.
- Выберите MIDI.
- Запустите приложение MidiKeyboard.
- Выберите Android USB Peripheral Port в меню Receiver for Keys вверху.
Как активировать MIDI-клавиатуру?
Выполните следующие действия, чтобы включить каждое из ваших MIDI-устройств.
- Щелкните меню «Параметры» на верхней панели инструментов, затем щелкните «Параметры MIDI».
- В окне «Параметры MIDI» перейдите в раздел «Настройки входа». Выберите свою MIDI-клавиатуру и нажмите «Включить». …
- Нажмите кнопку / пэд, чтобы подтвердить получение MIDI-сигнала.
Почему у меня не работает MIDI?
Иногда переподключение USB-кабель может решить проблему, а в других случаях может потребоваться изменить настройки MIDI. … Например, если ваше MIDI-устройство не может быть выбрано в программном обеспечении и его информация не отображается в утилите MIDI, возможно, устройство необходимо повторно подключить, перезагрузить или переустановить.
Какая польза от MIDI в Android?
MIDI-приложения Android обычно используют midi API для связи со службой Android MIDI. Приложения MIDI в первую очередь зависят от класса MidiManager для обнаружения, открытия и закрытия одного или нескольких объектов MidiDevice, а также для передачи данных на каждое устройство и с каждого устройства через порты ввода и вывода MIDI устройства.
Как использовать MIDI на моем телефоне?
Подключение MIDI-клавиатуры к устройству Android: пошаговое руководство (с изображениями!)
- 1) Установите, какое у вас соединение на телефоне / планшете. …
- 2) Определите, какой тип соединения у вас есть на вашей MIDI-клавиатуре. …
- 3) Закажите себе переходной кабель. …
- 4) Подключите 5-контактный кабель USB или MIDI к MIDI-клавиатуре.
Как подключить MIDI-устройства?
Поисковик 5-контактный MIDI-кабель от порта MIDI OUT на клавиатуре к порту MIDI IN внешнего оборудования. Если вы подключаете несколько устройств, подключите MIDI-кабель от порта MIDI THRU на первом устройстве к порту MIDI IN на следующем.
Можете ли вы использовать MIDI-клавиатуру без компьютера?
В результате есть много людей, которые хотят использовать свою MIDI-клавиатуру, не загружая свой компьютер. Итак, нужен ли вам компьютер для использования MIDI-клавиатуры? Нет, персональный компьютер не нужен для игры и занятий на MIDI-клавиатуре..
Как сбросить MIDI-клавиатуру?
Нажмите MIDI / SELECT. Нажмите кнопку RESET (клавиша F #).
- Нажмите кнопку [PRESET], а затем нажмите кнопку [LEFT CURSOR], чтобы на дисплее появилось «Factory Settings».
- Выберите «Presets», поворачивая [НАБОР ЗНАЧЕНИЙ].
- Чтобы выполнить возврат к заводским настройкам, нажмите диск [VALUE].
Как подключить клавиатуру Android?
Вот как вы это делаете:
- Включите Bluetooth на обоих устройствах.
- В списке ближайших устройств Bluetooth выберите клавиатуру. Если потребуется, укажите пин-код. Обычно это «0000».
- Клавиатура подключится, и вы сможете начать печатать.
Могу ли я подключить к телефону MIDI-клавиатуру?
Во-первых, вам понадобится кабель, который подключается непосредственно к клавиатуре. В зависимости от модели вашей клавиатуры это либо Конвертер кабеля MIDI в USB или кабель USB типа A — B. Оба кабеля позволяют подключить клавиатуру к компьютеру, устройству Android или Apple для передачи MIDI-данных.
Источник: frameboxxindore.com
ТОП-5 полезных приложений для Bluetooth на Андроид
Не все знают, насколько может быть полезным использование Bluetooth соединения. В статье собраны лучшие приложения для телефонов на ОС андроид, поддерживающих Bluetooth, которые позволят пользователем расширить функционал своих устройств или облегчить их эксплуатацию. Играйте через блютуз с друзьями, передавайте файлы, общайтесь или контролируйте свои беспроводные гаджеты.
Контроллер BT
Скачать в Google Play Это приложение превратит ваш андроид смартфон в контроллер для игры с помощью эмуляторов. Важной особенностью является полная свобода при настройке джойстика и кнопок, а также возможность объединить до четырех человек в одной игре через блютуз. Управлять эмулятором через андроид телефон можно на планшете, ноутбуке или даже телевизоре со Smart TV. Приложение использует беспроводные блютуз и Wi-Fi соединения, что делает его универсальным для любителей приставочных игр. Достаточно установить его на устройство, с которого вы будете управлять игрой, и на устройство с эмулятором, соединить их во вкладке «Create Host».
Bluetooth Pair
Скачать в Google Play Отличное приложение для автоматизации процесса подключения двух устройств на андроид через беспроводное блютуз соединение. Это очень удобно пользователям, которые имеют в своем распоряжении большое количество сторонних гаджетов. Например, это могут быть аудиоколонки, гарнитуры, автомобильные динамики или умные часы. Вместо того, чтобы тратить время на подключение каждого устройства к вашему телефону на андроид, вы можете автоматизировать их с помощью Блютуз Pair и сэкономить свое время. Среди особенностей этого приложения можно отметить безупречную работу с операционными системами Андроид, начиная с шестой версии, обширные настройки, несколько дизайнов заглавной темы и простую навигацию.
BlueBatt
Скачать в Google Play Контролируйте заряд батареи своих беспроводных устройств и получайте о них максимально подробную информацию о состоянии соединения блютуз благодаря андроид приложению BlueBatt. В приложении пользователи также найдут некоторые дополнительные бесплатные функции, которые обеспечат еще более комфортное использование своих гаджетов:
- Отображение значка уведомлений при подключении устройства через блютуз. В нем будет указана информация об уровне заряда батареи.
- Специальные голосовые подсказки, которые будут предупреждать о плохом соединении блютуз или низком уровне батарейки.
- Отдельный удобный виджет, размещаемый на главном экране телефона на андроид. Благодаря виджету следить за своими устройствами намного проще: вы сразу заметите, если какой-то из нескольких гаджетов требует подзарядки.
LightBlue
Удобное приложения для пользователей Андроид, использующих устройства с Блютуз Low Energy (BLE) соединениями. С этим приложением можно сканировать, подключаться и просматривать информацию о находящихся рядом гаджетах с Блютуз Low Energy соединением.
В режиме реального времени также возможно просматривать уровень и состояние сигнала, что позволяет определить, насколько вы близко находитесь к гаджету – это особенно удобно во время поиска потерявшихся устройств.
Все действия в андроид приложении можно отследить в специальном журнале, туда автоматически заносятся данные о подключенных ранее устройствах через блютуз, чтении информации или обнаружении новых гаджетов.
Bluetooth виджет
Подключайте любимые колонки или наушники одним нажатием на экран через блютуз. Для этого достаточно установить виджет и занести в его память обнаруженное устройство.
Одним касанием вы сможете включить аудиогаджет и запустить установленный на телефоне с андроид Spotify без дополнительных переходов в другие приложения или настройки. Скачать приложение Spotify бесплатно для Андроид можно в Google Play.
Похожие записи:
- ТОП-6 рабочих приложений для просмотра фильмов на Андроид
- Как правильно удалять приложения на Андроид
- ТОП-5 бесплатных приложений для скачивания игр на Android
- ТОП-3 рабочих приложения для распознавания музыки на Андроид
Источник: yadroid.ru
Возможна ли работа с bluetooth в Android без местоположения?
Типовой отзыв для андроид приложения, работающего с блютуз устройством.
Статья построена в виде спора с воображаемым пользователем. Для андроид разработчиков рассмотрены как классические способы, так и рекомендумые альтернативы.
От вашей программы требуется только отправить данные на устройство!
Минимально необходимый код (далее МНК) для отправки данных на классическое блютуз устройство с реализаций SPP (Serial Port Protocol)
UUID myUUID = UUID.fromString(«00001101-0000-1000-8000-00805F9B34FB»); BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaultAdapter(); BluetoothDevice remoteDevice = defaultAdapter.getRemoteDevice(«DC:0D:30:8A:AD:C8»); BluetoothSocket socketToServiceRecord = remoteDevice.createRfcommSocketToServiceRecord(myUUID); socketToServiceRecord.connect(); DataOutputStream dataOutputStream = new DataOutputStream(socketToServiceRecord.getOutputStream()); dataOutputStream.write(«Hello mir!nn».getBytes(StandardCharsets.UTF_8)); dataOutputStream.flush(); Thread.sleep(1000); dataOutputStream.close(); socketToServiceRecord.close();
Если мы запустим МНК, то получим:
java.lang.SecurityException: Need BLUETOOTH permission: Neither user 10632 nor current process has android.permission.BLUETOOTH.
Необходимо добавить для работоспособности этого кода в манифесте приложения:
До апи 31 существовали только 2 разрешения:
android.permission.BLUETOOTH и android.permission.BLUETOOTH_ADMIN
В андроид 12 переработали набор пермишенов. Ознакомиться подробнее можно по ссылке.
Главное отличие новых разрешений в том, что их нужно не только добавить в манифест, но и запросить у пользователя явно.
Вот. Сами пишете, что доступ к местоположению не нужен.
Обратите внимание на следующую строку
defaultAdapter.getRemoteDevice(«DC:0D:30:8A:AD:C8»);
Видите строку с двоеточиями ? Это mac адрес устройства. У каждого устройства он должен быть своим и уникальным. Вы знаете адрес например своего принтера ? Устроит ли вас просто поле ввода для этого значения ?
На моем принтере есть наклейка с QR. Считайте ее.
Это исключения, кроме того нет единого формата для кодирования информации о параметрах подключения.
Я буду сам сопрягать устройства через системные настройки. Дайте мне выбрать нужное из них.
Я могу помочь Вам попасть сразу в нужное место системных настроек:
Intent intentOpenBluetoothSettings = new Intent(); intentOpenBluetoothSettings.setAction(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS); startActivity(intentOpenBluetoothSettings);
и вам не придется долго добираться до него.
Получить список сопряженных:
Set btDevices = mBtAdapter.getBondedDevices();
Казалось бы одна строчка кода, что тут может не работать?
Во первых, всё таки встречаются устройства без BT. Подстраховаться можно строкой в манифесте.
В этом случае приложение нельзя будет поставить на андроид устройство без блютуз адаптера. Если с перефирийным устройством можно общаться еще через USB или сеть, то меняем на required=»false».
Если адаптера нет, то BluetoothAdapter.getDefaultAdapter() вернет null.
Попутно пожалуюсь. Ну зачем ее сделали депрекайтед? Альтернатива ужасно не удобная. Теперь еще контекст в фоновые потоки протаскивать для получения адаптера или сам адаптер. А за столько лет существования андроида так и не сделали, чтобы два и более адаптера поддерживалось одновременно. А еще проблем добавляют .
Во вторых, опять головная боль в 12м андроиде. Нужно учесть, что пермишен BLUETOOTH_CONNECT предоставлен.
Ворчание. Раньше было проще. Автоматом давался по факту наличия в манифесте. Теперь придется аналогично критичными. А еще нельзя попросить один раз и запомнить, что получил.
Механизм автоматического отзыва у неиспользуемых приложений появился. Так что здравствуй куча проверок начиная с того, на какой версии андроида запущено.
Совет вместо проверок, лучше обернуть SecurityException в кастомное исключение и обработать его там, где есть возможность позвать запрос на предоставление разрещения иначе там получается большая лапша проверок начиная с того, что версия андроида 12 и выше и далее а дано ли разрешение.
В третьих, getBondedDevices() вернет null при выключенном адаптере.
Действия с получением списка сопряженных и их обработкой вынесем в функцию getBonded() . Вместо тривиального уведомления «Включите» реализуем включение.
if (!mBtAdapter.isEnabled()) < Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); btActivityResultLauncher.launch(enableIntent); >else
btActivityResultLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), result -> < if (result.getResultCode() == Activity.RESULT_OK) < getBonded(); >>);
Тут вопрос от знатока. Можно же mBtAdapter.enable() использовать, почему так сложно ?
Вариант выше не требует дополнительных разрешений. Метод enabled() становиться депрекайтед в 13-м андроиде. Пример выше основан на рекомендованной альтернативе. Для предыдущих версий в манифесте должен быть еще пермишен BLUETOOTH_ADMIN. Но главное из-за выделенного жирным в документации
Bluetooth should never be enabled without direct user consent.
легко попасть под reject (отклонение обновления или нового приложения) или словить снятие с публикации.
Вернемся к выбору из списка сопряженных.
Мы получили список объектов типа BluetoothDevice, а нам нужно показать имя и узнать mac:
BluetoothDevice d = getItem(position); String name = d.getName(); // требует BLUETOOH_CONNECT String mac = d.getAddress(); // а это удивительно нет
Получается ли , что мы обошлись без необходимости в геолокации?
Так выглядит запрос BLUETOOH_CONNECT в Android 12.
Единственное чего мы достигли, пользователи более ранних версий останутся в неведении. Напомню, что пермишен нужен и для работы МНК ( .getRemoteDevice(), .connect() ).
Почему же так?
У вас сопряжен с телефоном телевизор, колонки . Программа это увидела и если у нее есть биг дата по пользователям, то как минимум она вычислит Ваш город. Если мало мобильное устройство в зоне досягаемости (удалось к нему подключиться), то можно местоположение сузить до 100 метров.
Именно о таком теоретическом возможном риске Вас предупреждают.
У меня Android 6-11. Почему же я вижу запрос к местоположению?
Мы рассмотрели вариант, когда Вы предварительно сделали сопряжение, не все пользователи могут сделать этот шаг самостоятельно. Часто для простоты даже не смотрят в список сопряженных, а начинают опрос эфира.
До 6-го андроида разрешения предоставлялись автоматически по факту упоминания в манифесте. Потом разрешения решили поделить, условно безопасные так и остались, а остальные стало требоваться запрашивать явно. В коде программ появился костыль вида:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) < if (checkSelfPermission(Manifest.permission. …) != PackageManager.PERMISSION_GRANTED )< … >>
Пользователи стали видеть запросы.
Процесс опроса эфира асинхронный.
1) Создаем слушателя
private final BroadcastReceiver mReceiver = new BroadcastReceiver() < public void onReceive(Context context, Intent intent) < String action = intent.getAction(); if (BluetoothDevice.ACTION_FOUND.equals(action)) < // Найдено BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); …… делаем с ним что нужно >else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) < // процесс поиска завершен >> >;
2) Регистрируем слушателя сообщений.
IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothDevice.ACTION_FOUND); filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); registerReceiver(mReceiver, filter);
3) Запускаем процесс
mBtAdapter.startDiscovery();
Прочитать документацию Вы можете самостоятельно.
Выскажу свое мнение почему там сбоку прикрутили геолокацию. Так у нас два пермишена BLUETOOTH слишком общий, BLUETOOTH_ADMIN нужен для изменения статуса и позволяет сканировать. Сделать его явно запрашиваемым, поломается много программ. У нас тут еще есть ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION, которые нужно явно запрашивать. Так может скрестим и по смыслу подходят.
И вот пошли шатания от версии к версии. Нужно ли именно FINE или хватит COARSE.
В 12м нужна связка BLUETOOTH_SCAN (
Вопрос от знатока. А почему не написали про Companion Device Manager (CDM)?
Когда я про неё прочитал, тоже подумал, что вот оно. Именно это решит проблему с пользователями. А вот реальность подкачала.
К сожалению документация, а конкретно примеры для java немного устарели (использованы депрекейтед StartIntentSenderForResult и onActivityResult), поэтому приведу уже поправленные коды.
Код поправлен на поиск всех устройств поблизости. Не важно есть у них имя или нет и какие типы интерфейсов поддерживают. В данном случае нас интересуют только само поведение «подружить» . Также для простоты minSDK поставлен от 8.0.
Если мы посмотрим в исходные коды операционной системы (Android SDK), то увидем:
public final class CompanionDeviceManager
так нелюбимое мною умирание молча . Что мешало сперва проверить callback, и если не работает вызвать failure ? Даже если это исправят, в предыдущих версиях андроида проблема останется 🙁
А причина ? В функции проверяется, что внутренняя переменная mService не null.
CompanionDeviceManager deviceManager = context.getSystemService(CompanionDeviceManager.class);
Наш объект существует, но на практике часто приходит не работоспособным. И получается нажали на кнопку «подружить с новым» и никакой реакции. Это первое мое разочарование.
Failure вообще оказался неинформативным. Вызывается только при отказе выбора. Текст ошибки всегда один и тот же.
Запустите предложенный демо пример.
Работает правильно, только если определение местоположения включено .
Если что-то из показанных стрелками выключено, диалог просто не показывается. Никаких ошибок в callback не передается.
И пришли мы к тому, что должны пользователю показать диалог
Включи! Определение местоположения.
Это меня окончательно разочаровало.
Выводы
Блютуз не может работать без геолокации. Ничего не поменялось с появлением альтернатив.
Внедрять их все же придется, чтобы приложение соответствовало правилам Google Play.
Как минимум учесть новые разрешения для работы с блуютуз.
Источник: habr.com