问题标签 [headphones]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5760 浏览

android - 用耳机录音

我创建了语音通话录音应用程序,它与手机的麦克风和耳机配合得很好。但是插入耳机时无法录制音频。我尝试将 AudioSource 更改为AudioSource.DEFAULT认为它会自动采用默认音频源。它什么也不记录。

0 投票
1 回答
899 浏览

javascript - 使用 Web Audio API 插入耳机时,如何捕获 AudioDestinationNode 值?

我一直在寻找一种能够检测计算机上默认扬声器和耳机之间差异的解决方案。我了解使用 Web Audio API,AudioDestinationNode 代表用户听到音频的输出设备。

我的问题(具体而言)是是否可以检测到用户音频输出设备(有线/无线耳机)的变化。如果这是不可能的,有没有办法使用 phonegap 来做到这一点,用于计算机和移动设备?

我的目标是仅在 AudioDestinationNode 映射到耳机或外部扬声器时启动事件。

0 投票
1 回答
333 浏览

android - 启动没有包名的第三方应用程序

我正在尝试制作一个在插入耳机时自动启动您选择的音乐播放器的应用程序。为此,当用户插入耳机时,我想要一个意图显示他们手机上的所有应用程序,以便他们可以点击有默认的音乐播放器,如 rhapsody、spotify 等。因为每个人都有不同的音乐应用程序。我不能使用意图来仅启动包名称,因为它可能对每个人都不相同。是否有显示所有应用程序的意图,以便用户可以选择他们的默认应用程序。谢谢。

我想的另一种方法是在手机的列表视图中搜索特定的第三方应用程序,然后将其设置为默认值。

我正在尝试使用的代码,代码需要在 case1 中工作

0 投票
1 回答
128 浏览

ios - 在 iOS 中插入耳机时的输入丢失

在 iOS 8 设备上插入耳机后,我遇到了一些长时间的输入音频丢失。也就是说,AudioUnitRender()在 I/O 音频单元上照常成功,但会出现几秒钟的间歇性数字静音。这是一个可预测的模式,包括三个一秒的静默期、一个较短的静默期,然后再次正常输入音频。

我不确定从这里去哪里,因为没有指示错误。有没有人遇到过这样的问题?

0 投票
1 回答
2655 浏览

ios - 在 iOS 上自定义 MPVolumeView 的高音量警告

背景

在连接耳机时尝试将音量增加到某个点以上时,Apple 的一些 iOS 版本引入了警告。根据我的阅读,这是由于欧盟的健康和安全建议,并且仅在欧盟销售/使用的设备上可见。

当音量增加到超过某个点时,音量滑块停止并且滑块顶部闪烁黄色/橙色。警告出现后,用户仍然可以将音量增大到这一点,就好像滑块只是想确认他们确实知道自己在做什么。

MPVolumeView 闪烁高音量警告

当滑块不在屏幕上时,可以通过音量叠加看到类似的效果。在第一个(黄色)“高音量”警告中,似乎需要两次单击硬件音量增大按钮才能超过推荐的音量限制。

音量叠加高音量警告

代码以查看它的实际效果:

注意:我相信您只会在欧盟激活的设备上看到音量警告


 问题

据我所知,这种行为是无证的,并且不一致。几次后,闪烁的滑块音量警告停止出现。在未来的某个时刻,它会再次出现,可能是经过一段时间后,或者在设备重启后;我不确定。

我在测试滑块时第一次看到警告,该滑块在公共控件状态下为轨道和拇指图像设置了空白图像:

因此,黄色条可能是.Application.Reserved控制状态的图像,也可能是完全私有的。我还没有发现,因为我正在等待警告再次开始出现......

这使得自定义和测试滑块的外观变得非常困难。在我的情况下,轨道的闪烁部分与我的自定义滑块看起来格格不入。我不是在寻找消除警告的方法,只是了解如何自定义其外观,并确保它在所有情况下看起来都不错。

任何人都可以对此有所了解吗?也许任何描述它如何/何时发生的文档(开发人员或其他),或者关于如何测试如此短暂和无法控制的东西的一些想法?

0 投票
0 回答
97 浏览

android - Android检测麦克风上的峰值

我试图在其他几个线程中找到我的问题的答案,但我找不到一个合适的。

我有一个由 2 个光电晶体管组成的光栅。我想用安卓耳机插孔检测这些障碍的峰值。我需要知道这些之间的时间。我已经为它准备了一个放大器电路,所以现在峰值非常陡峭。

我的方法是使用 AudioRecord 类,扫描缓冲区,找到上升沿,启动计时器并在第二个峰值后停止。这已经有点工作了,但只能持续大约 100 毫秒。我需要的是在 1-10ms 区域内精确测量。峰值可能约为 0.1 毫秒宽。我每 0.01 毫秒调用一次峰值检测功能,但我注意到,它的缓冲区中有大约 3000 个值来扫描它。我认为浏览这些内容需要很长时间。

我是否坚持错误的方法?有没有更简单的方法来做到这一点?它必须要快;-)。

先感谢您!

0 投票
1 回答
534 浏览

android - Android 同时在不同的耳机上播放两首不同的歌曲

我需要同时播放不同的音频,一个给普通耳机,另一个给蓝牙耳机。(在安卓上...)

有人知道我能不能做到这一点?如何?

谢谢!

0 投票
3 回答
4234 浏览

android - 检测耳机安卓

近年来,我为 Android 编程,我想知道一些事情:

如何检测耳机的存在?
有一种方法:isWiredHeadsetOn()但它不起作用。

我已经尝试过了,但它不起作用:

谢谢(如果我犯了拼写错误,我很抱歉,我是法国人)

0 投票
0 回答
808 浏览

android - 如何在android/ios中制作虚拟耳机

我真的不知道从哪里开始。我有安卓编程经验,但我所有的谷歌搜索都一无所获。我希望这里有人能指出我正确的方向。

我正在尝试创建一个应用程序,通过网络在 android 设备(最终是 ios)上发送所有声音(主要是媒体声音)。我有一个支持接收声音的音响系统,但他们的应用内解决方案很糟糕,只能播放本地文件。我想伪造插入的耳机,以便所有声音都发送到此设备。(它是先锋 AVR)。这可能吗?我在找什么?我在 Android API 中找不到它。

理想情况下,用户打开我要创建的这个应用程序并“打开它”,然后你的手机认为耳机已插入或类似的东西,然后当他们播放 spotify、youtube、soundcloud、pandora 或它的任何输出时发送到这些“虚拟耳机/扬声器”,实际上声音通过网络发送到这个先锋设备(VSX-1123K)。

理想情况下,我想用cordova或其他东西来创建它,但如果我必须构建这个原生我会的。

0 投票
1 回答
4644 浏览

android - 什么代码可以禁用 android(4.4) 设备的耳机插孔

我正在尝试构建一个可以在我的 Android 4.4 设备上启用或禁用耳机插孔的应用程序。一旦禁用,任何东西都不能控制或激活它,甚至调用。我可以为此设置设备。

任何帮助,将不胜感激。