|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Created: 2021-04-07 |
|
|
|
// Created: 2021-04-07 |
|
|
|
// Copyright(c) 2021 SimonG. All Rights Reserved. |
|
|
|
// Copyright(c) 2021 SimonG. All Rights Reserved. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using System.Collections.Generic; |
|
|
|
using Lib.Audio.Interfaces; |
|
|
|
using Lib.Audio.Interfaces; |
|
|
|
using NAudio.CoreAudioApi; |
|
|
|
using NAudio.CoreAudioApi; |
|
|
|
|
|
|
|
|
|
|
|
@ -9,18 +10,18 @@ namespace Lib.Audio |
|
|
|
{ |
|
|
|
{ |
|
|
|
public class Controllable : IControllable |
|
|
|
public class Controllable : IControllable |
|
|
|
{ |
|
|
|
{ |
|
|
|
private readonly AudioSessionControl _audioSessionControl; |
|
|
|
private readonly List<AudioSessionControl> _audioSessionControls; |
|
|
|
private readonly string _name; |
|
|
|
private readonly string _name; |
|
|
|
|
|
|
|
|
|
|
|
public Controllable(AudioSessionControl audioSessionControl, string name) |
|
|
|
public Controllable(List<AudioSessionControl> audioSessionControls, string name) |
|
|
|
{ |
|
|
|
{ |
|
|
|
_audioSessionControl = audioSessionControl; |
|
|
|
_audioSessionControls = audioSessionControls; |
|
|
|
_name = name; |
|
|
|
_name = name; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void SetVolume(float volume) => _audioSessionControl.SimpleAudioVolume.Volume = volume; |
|
|
|
public void SetVolume(float volume) => _audioSessionControls.ForEach(c => c.SimpleAudioVolume.Volume = volume); |
|
|
|
public void Mute() => _audioSessionControl.SimpleAudioVolume.Mute = true; |
|
|
|
public void Mute() => _audioSessionControls.ForEach(c => c.SimpleAudioVolume.Mute = true); |
|
|
|
public void UnMute() => _audioSessionControl.SimpleAudioVolume.Mute = false; |
|
|
|
public void UnMute() => _audioSessionControls.ForEach(c => c.SimpleAudioVolume.Mute = false); |
|
|
|
|
|
|
|
|
|
|
|
public override string ToString() => _name; |
|
|
|
public override string ToString() => _name; |
|
|
|
} |
|
|
|
} |
|
|
|
|