我们在Xamarin.Forms.Android项目中使用第三方音频/视频SDK。现在的问题是默认情况下音频是扬声器模式,而不是耳机。我试图在互联网上搜索解决方案,并找到下面的代码来设置耳机和扬声器的音频。在扬声器实现下面的代码音频关闭但不能通过耳机收听,如果我设置SpeakerphoneOn = true然后我可以通过扬声器听,但如果我设置SpeakerphoneOn = false然后我不能通过耳机列出。
附加点,即使在更改为InCall或任何其他模式后,模式值始终为“InCommunication”。
我在Xamarin项目中也设置了以下权限。允许:
var audioManager = (Android.Media.AudioManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.AudioService);
audioManager.SpeakerphoneOn = !audioManager.SpeakerphoneOn;
检查何时模式为耳机,音量值是否为0。两种模式的音量分别控制。
var audioManager = (Android.Media.AudioManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.AudioService);
audioManager.Mode = Mode.InCommunication;
audioManager.SpeakerphoneOn = false;
audioManager.SetStreamVolume(Stream.Music, audioManager.GetStreamMaxVolume(Stream.Music), VolumeNotificationFlags.ShowUi);