在Xamarin.iOS中静音

时间:2018-05-24 13:02:04

标签: c# ios xamarin audio xamarin.ios

我正在使用Xamarin.iOS处理MediaPlayer,单击按钮时无法找到静音的方法,如下所示:

AudioManager amanager = (AudioManager)GetSystemService(Context.AudioService);
amanager.SetStreamVolume(Stream.Music, 0, VolumeNotificationFlags.RemoveSoundAndVibrate);

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果您想要静音的声音是您自己的iOS应用程序本身的声音/音乐并且​​正在播放,您可以使用AVAudioPlayer,如下所示:

AVAudioPlayer _player;

public void PlayMusic(string file)
{
    NSError error;
    _player = new AVAudioPlayer(new NSUrl(file + ".mp3"), "mp3", out error);
    if (error != null)
    {
        Debu.WriteLine("Error in PlayTheme, {0}: {1}", file, error.LocalizedDescription);
        return;
    }
    _player.Volume = 0.6f;
    _player.NumberOfLoops = -1;
    _player.Play();
}

public void StopMusic()
{
    if (_player != null)
    {
        _player.Stop();
        _player.Dispose();
        _player = null;
    }
}

此外,根据您希望如何控制音频,您可以使用MPMusicPlayerController.ApplicationMusicPlayer代替。这是关于它的Apple doc

但是,如果您希望通过使用私有API来静音iOS系统音频本身technically possible,但通过这样做,我不认为Apple会在您尝试将其发布时批准您的应用应用程序商店。