Cordova 检测切换音频模式 - 内置扬声器到蓝牙扬声器
Cordova detect switch audio mode - built-in speaker to bluetooth speaker
我用 Cordova (7.1.0) and I use the web audio API 构建了一个音乐网络应用程序来管理声音。我的问题是:
如何查看播放器选择了哪个音源?内置音频VS蓝牙音频
例如在 iPhone 上,在玩游戏时我可以 select 直接通过我的设备扬声器(内置扬声器)播放声音,或者我可以切换到我的蓝牙扬声器。当用户从一种模式切换到另一种模式时,我如何通过 JavaScript 检查?
我找到了一个关于监听耳机状态(插入与否)的Cordova plugin。这适用于有线耳机,但无法检测内置扬声器何时切换到蓝牙扬声器。
我找到了一个关于监听蓝牙状态(连接与否)的 Cordova plugin。但这并没有告诉我用户何时切换模式...
欢迎提出任何想法!
您可能正在寻找此 Cordova 插件? https://github.com/saghul/cordova-plugin-audioroute
它应该挂接到 AVAudioSessionRouteChangeNotification 并检测系统音频路由何时发生变化。根据自述文件,您应该能够添加插件,然后在您的项目中放置一个事件侦听器,如下所示:
document.addEventListener('audioroute-changed',
function(event) {
console.log('Audio route changed: ' + event.reason);
// code for stuff you want to do
}
);
AVAudioSessionRouteChangeNotification 在类似的问题中也提到了这里:
Detect (listen to) audio route change in iOS 7
AVAudioSessionRouteChangeNotification 文档:
https://developer.apple.com/documentation/avfoundation/avaudiosessionroutechangenotification
我用 Cordova (7.1.0) and I use the web audio API 构建了一个音乐网络应用程序来管理声音。我的问题是:
如何查看播放器选择了哪个音源?内置音频VS蓝牙音频
例如在 iPhone 上,在玩游戏时我可以 select 直接通过我的设备扬声器(内置扬声器)播放声音,或者我可以切换到我的蓝牙扬声器。当用户从一种模式切换到另一种模式时,我如何通过 JavaScript 检查?
我找到了一个关于监听耳机状态(插入与否)的Cordova plugin。这适用于有线耳机,但无法检测内置扬声器何时切换到蓝牙扬声器。
我找到了一个关于监听蓝牙状态(连接与否)的 Cordova plugin。但这并没有告诉我用户何时切换模式...
欢迎提出任何想法!
您可能正在寻找此 Cordova 插件? https://github.com/saghul/cordova-plugin-audioroute
它应该挂接到 AVAudioSessionRouteChangeNotification 并检测系统音频路由何时发生变化。根据自述文件,您应该能够添加插件,然后在您的项目中放置一个事件侦听器,如下所示:
document.addEventListener('audioroute-changed',
function(event) {
console.log('Audio route changed: ' + event.reason);
// code for stuff you want to do
}
);
AVAudioSessionRouteChangeNotification 在类似的问题中也提到了这里: Detect (listen to) audio route change in iOS 7
AVAudioSessionRouteChangeNotification 文档: https://developer.apple.com/documentation/avfoundation/avaudiosessionroutechangenotification