Развернуть
Работа с источниками медиаданных
Обновлено 30 января 2025
Для работы с устройствами ввода-вывода медиаданных (микрофон, динамики, камера, экран) SDK предоставляет интерфейс localDevices.
Медиаданные обрабатываются в потоках (MediaStream), которые имеют следующие особенности:
- Один
MediaStreamможно подключить только к одной комнате, даже если их открыто несколько. MediaStreamможно подключать к комнате в любой момент конференции.- При первом создании
MediaStreamнужно получить от пользователя разрешение на доступ к устройствам ввода. - После завершения использования нужно прекращать работу всех созданных
MediaStream. - Устройства вывода звука (АudioOutput) доступны в ограниченном списке браузеров, основанных на Chromium.
Запрос разрешения на использование микрофона и камеры
Разрешение пользователя на доступ к устройствам ввода нужно получать при первом создании MediaStream.
При получении MediaStream вызывается метод requestUserMediaPermissions:
import { getLocalDevices, MEDIA_PERMISSION } from '@salutejs/jazz-sdk-web';
const localDevices = getLocalDevices(sdk);
const { audio, video } = await localDevices.requestUserMediaPermissions(
'audio',
'video',
);
if (audio === MEDIA_PERMISSION.GRANTED) {
// Доступ к записи аудио с микрофона предоставлен
}
if (audio === MEDIA_PERMISSION.DENIED) {
// Доступ к записи аудио с микрофона ограничен
}
if (video === MEDIA_PERMISSION.GRANTED) {
// Доступ к записи видео с камеры предоставлен
}
if (video === MEDIA_PERMISSION.DENIED) {
// Доступ к записи видео с камеры ограничен
}