- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个 android(和 IOS)应用程序,该应用程序可以毫无问题地播放音频消息。我的问题如下:如果手机已经连接到蓝牙(蓝牙已启用并已连接),那么我会启动我的应用程序并播放音频文件,在这种情况下,我在电话和蓝牙扬声器上都听不到任何声音。
但是,如果我启动我的应用程序然后激活蓝牙,然后播放音频文件,就没有问题,我的蓝牙扬声器的声音很好。
我现在使用的解决方案是,当我启动我的应用程序时,我完全禁用蓝牙,然后我在 onDeviceready 上重新启动它(使用插件 cordova)它像那样工作但它不是理想的解决方案,它是蓝牙断开并重新连接对用户来说非常烦人,尤其是当它是汽车蓝牙时。
有没有人遇到同样的问题,你能帮我找到另一个解决方案吗?
我使用最新版本的 Cordova (7.0.1)、android (6.2.3) ...我使用 plugova cordova-plugin-bluetoothle 重新启动蓝牙(在应用程序启动后禁用然后启用)
有什么想法吗?
最佳答案
这里完全一样的问题!我正在为使用 Cordova (7.1.0) 构建的 Android (6.4.0) 和 iOS (4.5.3) 开发一个音乐网络应用程序。我使用 webaudio API 来播放声音。除此特定情况外,所有平台上的一切都很好:
如果在我启动我的应用程序之前启用并连接了蓝牙,则根本不会播放任何声音。此问题仅在 Android 上出现。在某些型号/类型的 Android 设备上它可以工作,在其他一些设备上则不能...示例:
不幸的是,我还没有找到任何“干净”的解决方案。我做的和你的一样(BT=bluetooth):
我在测试期间发现的唯一提示是关于 AudioContext 对象的属性。 AudioContext 对象有一个名为 baseLatency 的属性。 official DOC不是很清楚:
This represents the number of seconds of processing latency incurred by the AudioContext passing the audio from the AudioDestinationNode to the audio subsystem [...]
我的理解是,此属性为您提供了 AudioContext 将声音带到目的地所需的时间/延迟的估计值(以秒为单位)...
在您的代码中初始化 AudioContext 之后,您可以请求此 baseLatency(只读属性):
var context = new AudioContext();
console.log(context.baseLatency);// 0.008 for example
我在测试期间注意到,每次出现问题时,此 baseLatency 总是高于 0.2。
蓝牙禁用的示例:
// baseLatency on computer = 0.008
// baseLatency on iOS devices = 0.05
// baseLatency on Android devices = 0.05
蓝牙启用的示例:
// baseLatency on computer = 0.008 (same)
// baseLatency on iOS devices = 0.05 (same)
// baseLatency on (some) Android devices = 0.2 (HIGHER)
好吧,我做了数百次这个测试,每次都是相同的结果。如果在某些 Android 设备上启动应用程序之前启用了 BT,baseLatency 将高于 0.2,这意味着 AudioContext 将无法在您的应用程序中播放任何声音.这不是我所知道的解决方案,但可以让您确定该应用程序是否会播放声音,这会有所帮助。
我尝试重新初始化 AudioContext 对象,但这根本不起作用...即使您重建 AudioContext 对象,baseLatency 也保持不变。
我希望这个小提示可以帮助我们找到解决方案!
关于android - cordova 蓝牙音箱没有声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46649095/
是否可以利用为蓝/绿部署正确设置的环境来进行验收测试? 您认为那里有哪些优势/风险? 基本上我会想象一个绿色环境将用于运行一些验收测试。如果通过,则将流量切换为绿色并继续执行常规的蓝/绿方案。 谢谢!
我正在尝试使用 Cloudformation Codedeploy 蓝/绿部署功能,因此有一个如下所示的任务集。 TaskSet: Type: AWS::ECS::TaskSet Proper
在我的 Cloudformation 模板中,我使用蓝绿部署触发器并具有以下任务定义 TaskDefinition: Type: AWS::ECS::TaskDefinition Depend
光色和油漆之间存在不匹配:物理学家会说三种原色是红色、绿色和蓝色,而画家会给出红色、蓝色和黄色作为原色。事实上,当用水彩绘画时,你不能将红色、绿色和蓝色混合成黄色,而不会混合橙色,你只会得到棕色。 这
我得到了一个本质上是图像的数据集,但是图像中的每个像素都表示为从 -1 到 1 的值。我正在编写一个应用程序,它需要将这些 -1 到 1 灰度值映射到 MATLAB“Jet”色标(红-绿-蓝颜色渐变)
如何在 BufferedImage 中隔离红/绿/蓝 channel :我有以下代码不起作用:` public static BufferedImage isolateChannel(Buffered
我正在尝试使用 CloudFormation 和 ECS 服务来部署新堆栈,并使用 CodeDeploy 启动类型来启用蓝/绿部署。 在 User Guide为了通过 CloudFormation 执
当上游容器之一出现故障时,如何让 dockerized nginx 快速进行故障转移?在非 Docker 环境中,故障转移似乎是瞬时的,但在 Docker 化时,多个请求会超时。 我在同一 Node
AWS CloudFormation 是否支持 EC2 的蓝/绿部署?我能够使用 CodeDeploy for EC2 创建蓝/绿部署;但是,我不知道如何使用 CloudFormation 创建一个。
我想创建一个 CodePipeline,它从 CodeCommit 源构建一个容器镜像,然后以蓝/绿方式将新镜像部署到我的 ECS 服务(EC2 启动类型)。 源阶段是CodeCommit,已经包含了
我正在尝试通过 CloudFormation 创建 ECS 蓝/绿部署设置。我发现这个文档提到 ECS 蓝/绿部署可以由 CloudFormation 处理,而无需显式创建 CodeDeploy 应用
我是一名优秀的程序员,十分优秀!