实际上,这从以下问题开始: Can I create a virtual Bluetooth headset to manipulate call stream?
我确信这可以通过用内容替换蓝牙的内核模块来完成。所以Virtual bluetooth device on Android?听起来绝对可能。
当然,人们可以简单地使用Raspberry Pi,它能够模拟耳机(至少只有A2DP播放)蓝牙配置文件,甚至是其中一个Bluegiga模块,来连接自定义虚拟耳机使用Android,让它播放声音。 (哦,这就足以将耳机的麦克风输入焊接到PC的声卡中了。)
似乎Android(至少是root)允许通过某种钩子攻击其他应用程序的一些灵活性 - https://play.google.com/store/apps/details?id=com.trigonesoft.iti;有一个应用程序,从我的桌面体验JVMTI和jaspects,似乎基于Java的应用程序可以很好地欺骗。 -
所以从理论上讲,有一种方法可以让系统认为蓝牙连接管理器实际连接到耳机,从而迫使它使用蓝牙路径播放声音。
但实际上没有办法“玩”到电话对话中,我知道 - 所以像Is it possible to create a simple answering machine in android?这样的问题实际上是100%无法回答的。我想这是由于硬件限制(以及所有节能音频路由铃声和口哨,似乎都是真的)
所以,问题是:是否可以模拟蓝牙设备,而无需用自定义存根替换供应商的蓝牙内核模块(例如,在MTK手机上 mtk_stp_bt )?
(老实说,听起来我正在发布一个蓝牙-sdk-in-userspace的想法,好吧,让我说我是为CC-BY-NC许可证做的 )