gpt4 book ai didi

android - 是否可以在 Cordova Android 上的 WebMidi 中使用 SysEx 消息?

转载 作者:行者123 更新时间:2023-11-30 00:39:25 26 4
gpt4 key购买 nike

我正在尝试使用 Cordova 将 Web 应用程序移植到原生 Android 应用程序。它相当简单,主要只是将 Midi 消息发送到连接的设备。我知道 WebMidi API 仅在 Android 上最新版本的 Webkit 上受支持,并且我已经在 5.1 上进行了测试。我已经设法通过在设备上的 Chrome 上运行原始网络版本来证明基础工作正常,它工作正常。

在 Cordova 中运行时的问题是消息本身由于某种原因没有发送,没有错误,只是没有到达那里。我知道 API 正在运行,因为应用程序的一个单独部分列出了连接的设备并提供了一个下拉列表供您选择,这工作正常,并识别连接的 Midi 设备。但是,当我发送消息时,它们在 Midi 设备上没有达到预期的效果。它们是 SysEx 消息,我认为需要额外的权限,android.webkit.resource.MIDI_SYSEX,这是否可能在 Chrome 上启用但在 Cordova 应用程序上没有启用?我尝试将此权限添加到 ./config.xml 和 ./platform/android/AndroidManifest.xml 但无济于事,它似乎没有任何效果,甚至没有显示为附加权限安装时。

根据各种搜索,我也尝试安装 Crosswalk 插件,但根本无法正常工作,甚至连设备列表都没有。

欢迎任何想法。

最佳答案

您面临的问题是,除非您满足某些条件,否则系统甚至不会提示您获得 midi sysex 许可。您必须通过本地主机或 https URL 访问您的网络 midi 代码。 Sysex 可能有害,因此他们将其用作最低安全要求。

我通过在我的开发 PC 上打开一个 URL(在 wamp 上使用自签名 SSL 证书)让它在 Android 上运行。它给出了 sysex 的安全提示,然后按预期工作,因此 chrome 在 android 上肯定可以工作。然而,Crosswalk Cordova,我不太确定。

我已经尝试在我的 cordova 应用程序(在 Android 上)中运行一个小网络服务器,在 127.0.0.1:8080 上启动网络服务器,然后使用 chrome 连接到它(分别在同一设备上)。感觉非常接近,但我需要它我的应用程序中运行!

我尝试使用网络服务器的 URL ( http://127.0.0.1:8080) 运行 iFrame 失败。它只是没有找到。没有安全错误,所以似乎与白名单无关,尽管我需要进一步调查以确定。

网络服务器插件似乎运行成功,但在应用程序中不可见。

你应该玩玩this ,看看它是否能带你到任何地方......

或者您可能会发现另一个可以从应用程序本身中看到的应用程序。另一种方法是使用套接字服务器连接到您的计算机,并将 MIDI 设备连接到它。虽然不完全便携!

关于android - 是否可以在 Cordova Android 上的 WebMidi 中使用 SysEx 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42771644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com