如何让 HTML5 音频标签音频来自接收器而不是扬声器?

发布于 2024-09-30 15:53:05 字数 568 浏览 5 评论 0原文

我试图在 iPhone 上执行以下操作:

  • 在我的应用程序中的 UIWebView 控件上加载网页。
  • 该网页有一个音频标签(HTML5 中的 ),并正确设置了音频文件的来源。
  • 网页加载正确,当我单击播放按钮时,音频从接收器中发出。

如何使音频从接收器而不是扬声器发出?

我已经做了什么?

  • 我读到了有关苹果平台上的音频会话服务的信息。
  • 我的初始类别是 kAudioSessionCategory_PlayAndRecord。
  • 现在默认情况下,根据文档,音频应该发送到接收器。 上面的方法没有起作用。
  • 所以我开始监听 kAudioSessionProperty_AudioRouteChange 属性。因此,当我使用音频标签播放音频时,我收到了回调。在回调中,我查询了音频路由,该路由返回了字符串“RecieverAndMicrophone”,

因此看起来浏览器控件正在执行一些魔法来覆盖应用程序默认音频会话设置。如何通过我的应用程序改变这种行为?

I was trying to do the following on IPhone:

  • load a webpage on UIWebView control in my application.
  • The webpage has an audio tag (<audio/> in HTML5) with source of the audio file set correctly.
  • Webpage loads correctly and when I click on play button the audio was coming out from the receiver.

How do I make the audio to come out of the receiver instead of the speaker?

What have I already done?

  • I read about the Audio session services on apple platforms.
  • My initial category was kAudioSessionCategory_PlayAndRecord.
  • Now by default, according to the documentation the audio should go to the reciever.
    The above did not work.
  • So I started listening on the kAudioSessionProperty_AudioRouteChange property. So when I played audio using the audio tag I got a callback. In the callback I queried for the audio route which came back with a string "RecieverAndMicrophone"

So looks like the browser control is doing some magic to override the app default audio session settings. How do I change that behavior through my app?

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文