Приглушить звук в Xamarin.iOS - PullRequest
0 голосов
/ 24 мая 2018

Я работаю над MediaPlayer с использованием Xamarin.iOS, я не могу найти способ отключить звук при нажатии кнопки, что-то вроде этого в Android:

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

Любая помощь будетоценили.

1 Ответ

0 голосов
/ 24 мая 2018

Если звук, который вы хотите отключить, - это ваш собственный звук / музыка, которые есть в самом приложении 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 об этом.

Однако, если вы хотите отключить звук самой системы iOS, технически возможно с использованием частного API, нопри этом я не думаю, что Apple одобрит ваше приложение, когда вы попытаетесь выпустить его в магазине приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...