UWP Сенсорный регулятор громкости - PullRequest
0 голосов
/ 28 сентября 2018

Мне нужно внедрить регулятор громкости Tap (Touch) с помощью кода UWP.

Например, если я коснусь кнопки в моем терминале, громкость звука при нажатии может регулироваться в настройках приложения.Этот элемент управления должен быть связан с мобильным или другими устройствами.

Несколько расследований: Звук постукивания от регулировки громкости звонка на нашем мобильном телефоне.поэтому нам нужно получить ответ из настроек рингтона.

Я искал больше всего об этом, но не смог найти решение.

Обновление

при событии смены ползунка:

Slider slider = sender as Slider; 
double volumeLevel = slider.Value / 10; 
ElementSoundPlayer.Volume = volumeLevel; 
//CurrVolumeLevel = (double)ElementSoundPlayer.Volume; 
CurrVolumeLevel = volumeLevel; 

При загрузке страницы:

//player = new MediaPlayer(); 
CurrVolumeLevel = (double)ElementSoundMode.Default; 
ElementSoundPlayer.State = ElementSoundPlayerState.Aut

o

1 Ответ

0 голосов
/ 30 сентября 2018

Если вы хотите реализовать громкость касания (Touch) и управлять ее громкостью, вы можете обратиться к Звук официальной документации.

UWP предоставляет легкодоступную звуковую систему, которая позволяет вампросто «щелкнуть выключателем» и получить захватывающий звук во всем приложении.

ElementSoundPlayer - это интегрированная звуковая система в XAML, и при включении все элементы управления по умолчанию будут воспроизводить звуки автоматически.

ElementSoundPlayer.State = ElementSoundPlayerState.On;

Все звуки в приложении можно затемнить с помощью регулятора громкости.Однако звуки в приложении не могут становиться громче, чем громкость системы.

Чтобы установить уровень громкости приложения, позвоните:

ElementSoundPlayer.Volume = 0.5;

Где максимальная громкость (относительно громкости системы)равно 1,0, а минимальное - 0,0 (практически бесшумно).

Обновление

Пожалуйста, попробуйте следующий простой код.

public MainPage()
{
    this.InitializeComponent();
    ElementSoundPlayer.State = ElementSoundPlayerState.On;
    CurrentVol.Value = ElementSoundPlayer.Volume * 10;
}

private void Slider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
    Slider slider = sender as Slider;
    double volumeLevel = slider.Value / 10;
    ElementSoundPlayer.Volume = volumeLevel;
}

Xaml

<StackPanel>
    <Slider Name="CurrentVol" Maximum="10" ValueChanged="Slider_ValueChanged"/>
    <Button Content="ClickMe"/>
</StackPanel>
...