【问题标题】:Detect background audio playing on Android检测 Android 上播放的背景音频
【发布时间】:2021-11-03 20:29:17
【问题描述】:

我有一个在 iOS 和 Android 上运行的 Xamarin.Forms 应用程序,目前我发现在我的应用程序中播放声音时存在问题,而背景音频已经在播放。通过检测AVAudioSession.SharedInstance().OtherAudioPlaying 的存在,iOS 很容易解决。

我很困惑是否可以检测到是否有任何东西已经在 Android 上播放音频。我似乎能够发现如何在后台播放音频,但没有关于如何检查是否有现有音频正在播放。目前,背景音频和我的声音一起播放,这会留下相当不愉快的体验。

【问题讨论】:

标签: android audio xamarin.forms xamarin.android


【解决方案1】:

事实证明,只要您知道正确的查看位置,它就与 iOS 方法一样简单 :)。感谢评论者,我发现IsMusicActiveAndroid.Media.AudioManager 类中可用。因此我的解决方案如下:

public class AudioHelper : IAudioHelper
{
    public static void Init(Activity activity)
    {
        audioManager = (Android.Media.AudioManager)activity.GetSystemService(Activity.AudioService);
    }

    private static Android.Media.AudioManager audioManager;

    public bool IsOtherAudioPlaying => audioManager?.IsMusicActive == true;
}

【讨论】:

  • 你把这段代码放在哪里我很难理解?
  • @csharpdude77 我必须将它放在 Android 平台特定的项目中。基本上是这样,但在 Android 项目中:blog.bijington.com/2021/07/22/…
  • 哎呀,我希望我的应用在后台播放
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-30
  • 2017-09-15
相关资源
最近更新 更多