我们在Xamarin.Forms.Android项目中使用了第三方音频/视频SDK。现在的问题是,默认情况下,音频进入扬声器模式,而不是入耳式。我曾尝试在Internet上搜索解决方案,但发现以下代码可以设置耳塞和扬声器的音频。实施以下代码后,扬声器中的音频关闭但无法通过耳塞收听,如果我设置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 :(得分:0)
检查模式是否为扬声器,音量值是否为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);