【问题标题】:UWP Touch Volume ControlUWP 触控音量控制
【发布时间】:2018-09-28 11:36:45
【问题描述】:

我需要使用 UWP 代码实现 Tap (Touch) 音量控制。

例如,如果我点击终端中的按钮,则可以在应用设置中控制点击声音的音量。此控件必须链接到移动设备或任何其他设备。

很少调查:在我们的手机中调整铃声音量时点击声音。所以我们需要从铃声设置中获取响应。

我对此进行了最多搜索,但找不到解决方案。

更新

在滑块更改事件中:

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

【问题讨论】:

  • 我非常怀疑。在我们常用的智能手机中,我们有触摸声音,我可以听到所有应用程序的声音。所以点击声音是由系统或应用程序所有者控制的。喜欢点击声音是定义的还是因应用而异?
  • 在滑块更改事件中:滑块滑块 = 发件人作为滑块; double volumeLevel = slider.Value / 10; ElementSoundPlayer.Volume = 音量级别; //CurrVolumeLevel = (double)ElementSoundPlayer.Volume; CurrVolumeLevel = 音量级别;在页面加载时:this.InitializeComponent(); //player = new MediaPlayer(); CurrVolumeLevel = (double)ElementSoundMode.Default; ElementSoundPlayer.State = ElementSoundPlayerState.Auto;

标签: c# android uwp visual-studio-2017 uwp-xaml


【解决方案1】:

如果你想实现Tap(Touch)音量并控制它的音量,你可以参考Sound官方文档。

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>

【讨论】:

  • 我可以确认此声音控件用于管理 windows mobile 中的铃声音量吗?因为 nrml 媒体音量控制无法控制触摸(点击)音量。触摸音量由铃声音量调节。
  • 是的,它相对于系统音量而不是媒体音量。
  • 但是可以用ElementSoundPlayer.Volume属性单独管理。
  • 朱,尝试了上述解决方案,但失败了。它不会更改应用程序或系统音量。甚至我分配了音量和使用 elementplayer 也没有任何变化。所以这没有帮助。
  • 不同的是我身边的ElementSoundPlayer.State = ElementSoundPlayerState.On
猜你喜欢
  • 1970-01-01
  • 2016-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多