Нашёл следующий код(рабочий, проверял):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace volume_controller
{
public partial class Form1 : Form
{
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
IntPtr wParam, IntPtr lParam);
public Form1()
{
InitializeComponent();
}
private void Mute()
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_MUTE);
}
private void VolDown()
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_DOWN);
}
private void VolUp()
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
(IntPtr)APPCOMMAND_VOLUME_UP);
}
}
}
При управление звуком таким образом, во время изменения показывается это:
Как можно управлять звуком так, чтобы не отображалась эта шкала?
Ответ
На дынный момент нашёл это: https://stackoverflow.com/a/40361942
В принципе вариант мне подходит, громкость изменяется скрытно.
Инструкция по установке: https://docs.microsoft.com/ru-ru/nuget/quickstart/install-and-use-a-package-in-visual-studio
Страница либы: https://www.nuget.org/packages/AudioSwitcher.AudioApi.CoreAudio/3.0.0.1
Комментариев нет:
Отправить комментарий