Метод getUserMedia
- @DomName('Navigator.webkitGetUserMedia')
- @SupportedBrowser(SupportedBrowser.CHROME)
- @Experimental()
Получает поток (видео и/или аудио) с локального компьютера.
Используйте 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);
});
Пользователь также может передать Map в параметры audio или video, чтобы указать обязательные и необязательные ограничения для потока медиа. Если не передавать Map, а передавать true , это обеспечит MediaStream с возможностями аудио или видео, но без дополнительных ограничений. Названия конкретных ограничений для аудио и видео всё ещё изменяются, но на данный момент вот пример, предоставляющий больше ограничений.
window.navigator.getUserMedia(
audio: true,
video: {'mandatory':
{ 'minAspectRatio': 1.333, 'maxAspectRatio': 1.334 },
'optional':
[{ 'minFrameRate': 60 },
{ 'maxWidth': 640 }]
});
См. также:
Исходный код
@DomName('Navigator.webkitGetUserMedia')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
Future<MediaStream> getUserMedia({audio: false, video: false}) {
var completer = new Completer<MediaStream>();
var options = {'audio': audio, 'video': video};
this._getUserMedia(options, (stream) {
completer.complete(stream);
}, (error) {
completer.completeError(error);
});
return completer.future;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/Navigator/getUserMedia.html