Console.Beep () - звук не перенаправляется через RDC - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть программа для Windows, которая использует функцию звукового сигнала Win32 (частота, длительность), чтобы предупредить пользователя, когда происходит что-то важное.

Теперь один из моих пользователей - это удаленный рабочий стол, который подключается к виртуальной машине и запускает там приложение.Другие звуки правильно перенаправляются (например, при воспроизведении файлов WAV).Однако звуковой сигнал не перенаправляется.Я даже создал простую тестовую программу, все, что она делает, это делает один тон, и, конечно же, он работает только на моем локальном компьютере.Запустите на любом компьютере, к которому я подключаю удаленный рабочий стол, и он работает тихо.

Если есть способ «включить это», это было бы здорово.Если нет, я добавлю запрос на изменение, чтобы изменить приложение для воспроизведения wav-файла вместо использования встроенной функции звукового сигнала.

Если интересно - вот супер простое консольное приложение, которое я использовал для тестирования(Visual Studio / C #)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BeepTester
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Press a key to continue and play a short beep...");
            Console.ReadKey();
            Console.Beep(1500, 300);
            Console.WriteLine("All done, Press a key to exit...");
            Console.ReadKey();
        }
    }
}

1 Ответ

0 голосов
/ 28 декабря 2018

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

По какой-то причине, когда ОС была установлена ​​на ВМ (кажется, по умолчанию?), Служба звукового сигнала настроена на ручной запуск.Когда я вручную набрал «NET START Beep» как администратор, звук работает.

Можно отредактировать реестр, чтобы служба Beep автоматически запускалась при запуске на ВМ, а затем проблема решалась окончательно.

...