- Воспроизведение и запись звука через RDP
- Содержание
- Настройка удаленного аудио
- Установка службы роли RD Session Host на Windows 2008 R2
- Как включить запись звука через RDP
- Enable audio playback from remote Bluetooth-connected devices
- Add a user interface
- Use DeviceWatcher to monitor for remote devices
- Enable and release audio playback connections
- Open the audio playback connection
- Monitor audio playback connection state
- Release connections and handle removed devices
Воспроизведение и запись звука через RDP
Содержание
Если ваша компания использует клиентские приложения Oktell на удаленном рабочем столе, то с помощью этой статьи вы сможете использовать вашу гарнитуру для совершения вызовов. Как известно, в службах удаленных рабочих столов в ОС Windows Server 2008 R2 и Windows 7 появилась возможность передачи звука через RDP-соединение. Таким образом, решается проблема с голосовым каналом, которую часто приходится решать, например, при работе с терминальными клиентами 1С.
ВНИМАНИЕ: Статья проверена на Windows Server 2008 R2. На Windows 7 запустить удаленную звукозапись не удалось, если вы найдете способ просьба сообщить нам в техническую поддержку.
Настройка удаленного аудио
Для работы с удаленным аудио и звукозаписью используется служба RDP Remote Recording. Ниже приведен алгоритм включения Remote audio recording на WS2008R2 и Win7.
1. Для Windows Server 2008 R2. Включить Windows Audio Service. Актуально для WS2008R2, так как по умолчанию данная служба отключена. Для включения достаточно кликнуть правой кнопкой по громкоговорителю в углу экрана и вызвать свойства, далее система сама предложит запустить сервис.
2. Разрешить перенаправление аудио/видео и записи звука в свойствах RDP-сервера. Настройка доступна в следующих местах:
- MMC-оснастке Remote Desktop Session Host Configuration. Следует учитывать, что опция не доступна в стандартной поставке Windows 7.
- Групповых политиках — доменных, либо локальных. Для этого наберите в командной строке gpedit.msc
3. Редактирование реестра Windows. Как выяснилось, даже если в политике нужные функции будут явно разрешены, передача аудио/видео работать начнет, а вот запись звука — нет. Для того, чтобы запись звука по RDP начала работать, нужно в реестровом поле:
задать следующее значение
После этого в записывающих устройствах (Recording Devices) ОС Windows 7 появится Remote Audio.
4. Для Windows Server 2008 R2. Установить роль Remote Desktop Session Host на WS2008R2. В режиме Remote Desktop fot Administration, который настраивается при установке системы, перенаправление записи звука не работает.
Установщик роли Remote Desktop Session Host будет настоятельно предлагать установить фичу Desktop Experience, если отметить галочки Audio and video playback, Audio recording redirection. Рекомендую снять эти галочки и поставить роль RDSH без фичи Desktop Experience, так как она для работы записи звука по RDP не требуется, но при этом в систему добавляет много ненужного. Подробнее читайте ниже.
5. Включить в RDP-клиенте функциональность Remote audio playback и Remote audio recording.
6. Для работы с удаленным аудио в клиентским приложении Oktell установите соответствующие настройки устройства в модуле «Телефон«. Выберите Remote audio для полей «Динамик» и «Микрофон»
В статье использована информация с сайта http://fadmin.ru
Установка службы роли RD Session Host на Windows 2008 R2
При развертывании службы роли RD Session Host необходимо выполнить в определенном порядке три действия, прежде чем сервер RD Session Host можно будет использовать для размещения приложений.
- Сначала нужно установить службу роли RD Session Host.
- Затем следует установить приложения, которые будут размещены на сервере RD Session Host.
- И, наконец, необходимо предоставить пользователям или группам нужные полномочия для подключения к серверу RD Session Host и сконфигурировать лицензирование службы удаленных рабочих столов, как описано в разделе «Развертывание лицензирования удаленных рабочих столов» далее в этой главе.
Шаги установки службы роли RD Session Host:
- Для установки службы роли RD Session Host выполните перечисленные ниже шаги.
- Войдите в нужный сервер с полномочиями локального администратора.
- Выберите в меню Start (Пуск) пункт Run (Выполнить).
- В диалоговом окне Run (Запуск программы) введите ServerManager .msc и щелкните на кнопке ОК.
- В разделе Roles Summary (Сводка ролей) щелкните на задаче Add Roles (Добавить роли).
- После загрузки мастера добавления ролей щелкните на кнопке Next (Далее).
- На странице Select Server Roles (Выберите серверные роли), выберите в списке роль Remote Desktop Services (Службы удаленных рабочих столов) и щелкните на кнопке Next.
- На странице Remote Desktop Services (Службы удаленных рабочих столов) щелкните на кнопке Next.
- На странице Select Role Services укажите только службу Remote Desktop Session Host (Узел сеансов удаленных рабочих столов). На данный момент это единственная установленная роль. Щелкните на кнопке Next.
- На странице Uninstall and Reinstall Applications for Compatibility (Удаление и повторная установка приложений для совместимости) щелкните на кнопке Next.
- На странице Specify Authentication Method for Remote Desktop Session Host (Укажите метод аутентификации для сервера узла сеансов удаленных рабочих столов) выберите вариант аутентификации для данного сервера RD Session Host (решение о методе должно приниматься на основании типа клиентов, которые будут в дальнейшем подключаться), а затем щелкните на кнопке Next.
- На странице Specify Licensing Mode (Укажите режим лицензирования) выберите вариант Configure Later (Настроить позже) и щелкните на кнопке Next. Лицензирование службы удаленных рабочих столов будет описано в разделе «Развертывание лицензирования удаленных рабочих столов» далее в главе.
- На странице Select User Groups Allowed Access to This RD Session Host Server (Выберите группы пользователей, которым разрешен доступ к данному серверу RD Session Host) оставьте предложенную по умолчанию группу Administrators (Администраторы) и щелкните на кнопке Next.
- На странице Configure Client Experience (Настройка внешнего вида клиента) выберите необходимый уровень функциональности Client Experience, который буцет доступен удаленным клиентам, когда они будут подключаться к этому серверу RD Session Host, и щелкните на кнопке Next.
- На странице Confirm Installation Selections (Подтвердите выбранные параметры установки) просмотрите результаты выбора и щелкните на кнопке Install (Установить).
- На странице Installation Results (Результаты установки) просмотрите результаты и щелкните на кнопке Close (Закрыть).
- В ответ на предложение перезапустить сервер щелкните на кнопке Yes (Да).
- После перезагрузки сервера войдите в него с полномочиями локального администратора.
- После входа в систему откроется страница Installation Results. Просмотрите результаты, приведенные на этой странице, и подтвердите успешную установку сервера RD Session Host.
Как включить запись звука через RDP
Как известно, в службах удаленных рабочих столов в ОС Windows Server 2008 R2 и Windows 7 появилась возможность «записи» звука. Данная функция позволяет работать в «терминале» с такими приложениями, с которыми ранее было не возможно. Например, клиент Lync для голосового вызова или подключения к конференции требует наличия устройства записи (микрофона).
Хотя в интернете есть статьи, детально и со скриншотами описывающие действия по включению RDP Remote Recording, для вновь установленных ОС в общем случае данных действий не достаточно. В этой заметке я приведу проверенный лично алгоритм включения Remote audio recording на WS2008R2 и Win7.
1. Включить Windows Audio Service. Актуально для WS2008R2, так как по умолчанию данная служба отключена. Для включения достаточно кликнуть правой кнопкой по громкоговорителю в углу экрана и вызвать свойства, далее система сама предложит запустить сервис.
2. Разрешить перенаправление аудио/видео и записи звука в свойствах RDP-сервера.
Сия настраивается доступна в следующих местах:
- MMC-оснастке Remote Desktop Session Host Configuration (не доступна в стандартной поставке Windows 7)
- Групповых политиках (доменных, либо локальных — gpedit.msc )
[Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Device and Resource Redirection]
Allow audio and video playback redirection
Allow audio recording redirection
3. Отредактировать реестр. Как выяснилось, даже если в политике нужные функции будут явно разрешены, передача аудио/видео работать начнет, а вот запись звука — нет. Для того, чтобы запись звука по RDP начала работать, нужно задать следующее значение в реестре:
После этого в записывающих устройствах ( Recording Devices ) ОС Windows 7 появится Remote Audio .
4. Установить роль Remote Desktop Session Host на WS2008R2. В режиме Remote Desktop fot Administration , который настраивается при установке системы, перенаправление записи звука не работает.
Установщик роли Remote Desktop Session Host будет настоятельно предлагать установить фичу Desktop Experience , если отметить галочки Audio and video playback , Audio recording redirection . Рекомендую снять эти галочки и поставить роль RDSH без фичи Desktop Experience, так как она для работы записи звука по RDP не требуется, но при этом в систему добавляет много ненужного (полупрозрачные окна, нескучные обои и прочий BolgenOS).
5. Включить в RDP-клиенте функциональность Remote audio playback и Remote audio recording .
Enable audio playback from remote Bluetooth-connected devices
This article shows you how to use AudioPlaybackConnection to enable Bluetooth-connected remote devices to play back audio on the local machine.
Starting with Windows 10, version 2004 remote audio sources can stream audio to Windows devices, enabling scenarios such as configuring a PC to behave like a Bluetooth speaker and allowing users to hear audio from their phone. The implementation uses the Bluetooth components in the OS to process incoming audio data and play it on the system’s audio endpoints on the system such as built-in PC speakers or wired headphones. The enabling of the underlying Bluetooth A2DP sink is managed by apps, which are responsible for the end-user scenario, rather than by the system.
The AudioPlaybackConnection class is used to enable and disable connections from a remote device as well as to create the connection, allowing remote audio playback to begin.
Add a user interface
For the examples in this article, we will use the following simple XAML UI which defines ListView control to display available remote devices, a TextBlock to display connection status, and three buttons for enabling, disabling, and opening connections.
Use DeviceWatcher to monitor for remote devices
The DeviceWatcher class allows you to detect connected devices. The AudioPlaybackConnection.GetDeviceSelector method returns a string that tells the device watcher what kinds of devices to watch for. Pass this string into the DeviceWatcher constructor.
The DeviceWatcher.Added event is raised for each device that is connected when the device watcher is started as well as for any device that is connected while the device watcher is running. The DeviceWatcher.Removed event is raised if a previously connected device disconnects.
Call DeviceWatcher.Start to begin watching for connected devices that support audio playback connections. In this example we will start the device manager when the main Grid control in the UI is loaded. For more information on using DeviceWatcher, see Enumerate Devices.
In the device watcher’s Added event, each discovered device is represented by a DeviceInformation object. Add each discovered device to an observable collection that is bound to the ListView control in the UI.
Enable and release audio playback connections
Before opening a connection with a device, the connection must be enabled. This informs the system that there is a new application that wants audio from the remote device to be played on the PC, but audio does not begin playing until the connection is opened, which is shown in a later step.
In the click handler for the Enable Audio Playback Connection button, get the device ID associated with the currently selected device in the ListView control. This example maintains a dictionary of AudioPlaybackConnection objects that have been enabled. This method first checks to see if there is already an entry in the dictionary for the selected device. Next, the method attempts to create an AudioPlaybackConnection for the selected device by calling TryCreateFromId and passing in the selected device ID.
If the connection is successfully created, add the new AudioPlaybackConnection object to the app’s dictionary, register a handler for the object’s StateChanged event, and callStartAsync to notify the system that the new connection is enabled.
Open the audio playback connection
In the previous step, an audio playback connection was created, but sound does not begin playing until the connection is opened by calling Open or OpenAsync. In the Open Audio Playback Connection button click handler, get the currently selected device and use the ID to retrieve the AudioPlaybackConnection from the app’s dictionary of connections. Await a call to OpenAsync and check the Status value of the returned AudioPlaybackConnectionOpenResultStatus object to see if the connection was opened successfully and, if so, update the connection state text box.
Monitor audio playback connection state
The AudioPlaybackConnection.ConnectionStateChanged event is raised whenever the state of the connection changes. In this example, the handler for this event updates the status text box. Remember to update the UI inside a call to Dispatcher.RunAsync to make sure the update is made on the UI thread.
Release connections and handle removed devices
This example provides a Release Audio Playback Connection button to allow the user to release an audio playback connection. In the handler for this event, we get the currently selected device and use the device’s ID to look up the AudioPlaybackConnection in the dictionary. Call Dispose to release the reference and free any associated resources and remove the connection from the dictionary.