如何将 MediaPlayer1 路由到有线耳机,将 MediaPlayer2 路由到 BT 耳机?

发布于 2024-11-16 16:41:19 字数 91 浏览 1 评论 0原文

我正在尝试同时播放两个文件,并将一个文件路由到有线耳机,另一个文件路由到 BT 耳机。这可能吗?我有什么想法可以实现这一目标吗?我的目标是操作系统 2.3 及更高版本。

I'm trying to play two files at the same time and route one to wired headset and the other to the BT headset. Is this even possible? Any ideas how I can achieve this? I'm targeting OS 2.3 and greater.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱娆 2024-11-23 16:41:19

您可以尝试创建两个具有不同流类型的 MediaPlayer

btPlayer = new MediaPlayer(...);
wiredPlayer = new MediaPlayer(...);
...
btPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
wiredPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
...

当然,您需要添加额外的代码将 btPlayer 重定向到蓝牙耳机。为此,您需要使用 startBluetoothSco()setBluetoothScoOn()

另请注意,音频只能在 AudioManager.STREAM_VOICE_CALL 上重定向到蓝牙耳机。但如果您使用的是 2dp 蓝牙设备,您也可以在 AudioManager.STREAM_MUSIC 流中将音频重定向到该设备。

You can try creating two MediaPlayers with different stream types:

btPlayer = new MediaPlayer(...);
wiredPlayer = new MediaPlayer(...);
...
btPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
wiredPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
...

Of cause you'll need to put extra code to redirect btPlayer to bluetooth headset. For this you'll need to use startBluetoothSco() and setBluetoothScoOn().

Also note, that audio can be redirected to bluetooth headset only on AudioManager.STREAM_VOICE_CALL. But if you are using a2dp bluetooth device, you can redirect audio to this device in AudioManager.STREAM_MUSIC stream as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文