Метод getUserMedia
- @SupportedBrowser(SupportedBrowser.CHROME)
- {dynamic audio = false,
- dynamic video = false}
Получает поток (видео и/или аудио) с локального компьютера.
Используйте MediaStream.supported, чтобы проверить, поддерживается ли эта функция текущей платформой. Аргументы audio и video по умолчанию равны false (поток не использует аудио или видео, соответственно).
Простой пример использования:
window.navigator.getUserMedia(audio: true, video: true).then((stream) {
var video = new VideoElement()
..autoplay = true
..src = Url.createObjectUrlFromStream(stream);
document.body.append(video);
});
Пользователь также может передавать карты в параметры audio или video, чтобы указать обязательные и необязательные ограничения для потока медиа. Если не передавать карту, но передавать true, будет предоставлен MediaStream с возможностями аудио или видео, но без дополнительных ограничений. Названия конкретных ограничений для аудио и видео все еще уточняются, но на данный момент вот пример с более строгими ограничениями.
window.navigator.getUserMedia(
audio: true,
video: {'mandatory':
{ 'minAspectRatio': 1.333, 'maxAspectRatio': 1.334 },
'optional':
[{ 'minFrameRate': 60 },
{ 'maxWidth': 640 }]
});
См. также:
Реализация
@SupportedBrowser(SupportedBrowser.CHROME)
Future<MediaStream> getUserMedia({audio: false, video: false}) {
var completer = new Completer<MediaStream>();
var options = {'audio': audio, 'video': video};
_ensureGetUserMedia();
this._getUserMedia(convertDartToNative_SerializedScriptValue(options),
(stream) {
completer.complete(stream);
}, (error) {
completer.completeError(error);
});
return completer.future;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-html/Navigator/getUserMedia.html