Using Web MIDI API on Android Chrome 52 - javascript

I have worked successfully with Web MIDI API and Chrome 52 on my Mac laptop - for example recognizing connected MIDI instruments. But Web MIDI API does not seem to work or recognize connected instruments when I use Chrome 52 in my Samsung Galaxy S5 running Android 5.0.1. I've tried, for example, Web MIDI API tests online like this one, unsuccessfully (all of which work fine on the laptop).
Native apps do recognize my MIDI devices just find in my Galaxy phone - they are connected via a working USB OTG cable. But Chrome (or Opera) are not. Any help will be appreciated. I've tried Chrome Dev and Chrome Beta, same result. I wonder if the problem is the phone, or perhaps the Android version?
UPDATE: I have also tried with an Android tablet of different brand and Android 6.0 (Marshmallow). The result is the same: navigator.requestMIDIAccess() is successful (it invokes the success callback with the midiAccess object as expected), but midiAccess has no inputs or outputs, even though a device is connected. The same tablet recognizes the device when using a native app.
UPDATE 2: Success! The problem was the electronic piano I was using to test. For some reason my laptop Chrome did find my Yamaha piano, but Android Chrome did not (they are the same version of chrome). I moved to another keyboard (a newer Roland piano) and now both Android Chrome and MacOS Chrome now detect it.

You must testing your devices for knowing is reading for USB Host. You can use application like that for testing : app test USB Host
If your device don't USB Host ready you can activate that with root mode.

The problem was the electronic piano I was using to test. For some reason my laptop Chrome did find my Yamaha piano, but Android Chrome did not (they are the same version of chrome). I used a different, newer keyboard (a newer Roland piano) and now both Android Chrome and MacOS Chrome now detect it.

Related

Investigate html/js issues on IOS devices

I'm working on a web-app, and there are several issues(HTML markup and js functionality) that are reproduced only on Ipad and iPhone. The problem is - I don't have any ios devices. How can I reproduce, and then debug (like I do in browsers web developer tools) those issues on windows 10?
If you have iMac, MacBook or any Mac OS device you can use Xcode application and run real device simulator.
If you don't have such device you can use online services like https://www.browserstack.com

Web Bluetooth on Chrome for Android is not finding any devices

I'm trying to use the new navigator.bluetooth Web Bluetooth APIs to connect to an older Bluetooth device, however using the requestDevice({acceptAllDevices: true}) method seems to not working.
According to the docs, it should show all of the bluetooth devices without any filters, but the Chrome beta on Android is not picking up any devices whatsoever, as seen in the picture.
I'm using the Web Bluetooth Terminal with the modified mentioned method above, and getting zero luck in listing any devices.
My device is not BLE, and I'm trying to use the SerialPort "SPP" profile similar to this question, which I believe has the UUID of 0x1101 or 00001101-0000-1000-8000-00805f9b34fb.
How do I list the nearby or paired Bluetooth devices on Chrome mobile for Android?(Additional Info: Chrome 56 on Android 6.0, the Bluetooth device is a HC-05 module - tested and confirmed working correctly with a dozen of Android Bluetooth terminal apps.)
Web Bluetooth supports only Bluetooth Low Energy devices for now. You won't be able to connect to Bluetooth Classic devices with this Web API.

Moga Power Pro, HID mode, in Chrome 46 for Android

I've written a small Aurelia application that binds to gamepad state here:
http://davismj.github.io/challenger/
I developed it using my Moga Power Pro in HID mode connected to my Windows 7 computer. However, it failed to detect the same gamepad when I opened it in Chrome 46 on my Nexus 5 (Marshmallow). I can confirm that the gamepad tester app also fails to detect the gamepad.
Is this a known issue? Is there a workaround? Can I report and track the issue somewhere?
I'm particularly surprised because the gamepad is not supported on windows, but well supported on Android on iOS.
The gamepad was detected, but you need to press a button first.

chrome inspect blinking with remote debugging

I'm trying to use Chrome's support for remote debugging with my Android device. I've been successful doing this many times, even though it is a bit tricky to setup up.
(I need 'port forwarding' and 'virtual host mapping' so my device can access domain names on my local server.)
The problem is that (today) chrome://inspect shows the tabs on my device for only a second, then hides them, then shows them again, then hides them...
When Chrome hides all the tabs on my device, the following message appears:
Pending authentication: please accept debugging session on the device.
Bad Blink
Good Blink
I see no notification on my device that I can 'accept'.
Even stranger, if I am quick to click on my host, I actually seem to be able to able to use the dev tools for the device like in previous successful situations.
Why is chrome://inspect blinking and how can I fix it?
My setup
Device: Android 5.0 Galaxy S4 for AT&T, with Developer options enabled.
Device's wifi settings require Proxy, with info for Charles running on host.
Device connected via USB.
chrome://inspect has Port Forwarding enabled.
Chrome: Version 44.0.2403.157 m.
Android bridge performed by starting Android Studio (version 1.3.1).
Thanks to #SOreadytohelp for the helpful comment.
I borrowed this from the chromium bug report:
Downgrading Android SDK Platform-tools from revision 23 to revision 21 will solve the issue
Same behavior here: neither Galaxy S4 nor Galaxy S6 Edge with Lollipop were available on the chrome://inspect tab. I develop an Ionic/Cordova app and downgrade isn't an option. But if you download latest version of Chrome Canary the device is available to inspect and I can debug again.
You just have to upload your chrome for android, and it will work.
I also came across this problem, but as I updated my chrome for android, the problem got sorted out and now it is working fine.

How to connect to iPhone's webkit debugger?

new iOS 6 feature is, that you can debug html and javascript running on device or simulator in desktop safari. I suppose, that this feature is based on Webkit Remote Debugging Protocol.
How can I connect to webkit running on iPhone without desktop Safari?
I can do this for mobile Chrome running on Android using websockets, but how can I do that for iOS devices?
The ios-webkit-debug-proxy project (from Google!) does this.
You want to look at this code https://github.com/leftlogic/remote-debug/tree/master/safari - although it fails when it actually comes to RPC calls that use __rpc_forwardSocketData.
If you've got any ideas why several of us are interested!
You need to open up the iPhone Simulator and browse to a website.
Then open Safari and choose "Develop" from the menubar. There is a the option called "iPhone Simulator".
If you hover over this you can see all of the open websites of the simulator.
This gives you the same inspector Safari uses. You can even see hovered elements in the iPhone Simulator.

Categories