我有使用Angular编写的webrtc应用程序。 iOS出现问题。我无法从相机中获取信息流。不可能。 浏览器甚至没有询问使用相机/麦克风的权限。
有一个用于收集摄像机流的代码。我认为与webrtc示例中提供的相同。我不知道这段代码有什么问题。
private streamConstraints = {
audio: true,
video: true
};
public getStreamFromCamera(constraints = this.streamConstraints): Promise<MediaStream> {
const navig = this.initNavigator();
return new Promise((resolve, reject) => {
navig.getUserMedia(constraints,
(stream) => resolve(stream),
(error) => reject(error)
);
});
private initNavigator() {
const navig = <any>navigator;
if (!navig.mediaDevices) {
console.log('Tools@MediaDevices are not implemented in browser');
navig.mediaDevices = {};
}
if (!navig.mediaDevices.getUserMedia) {
navig.mediaDevices.getUserMedia = function (constraints) {
const getUserMedia = navig.webkitGetUserMedia || navig.mozGetUserMedia;
if (!getUserMedia) {
return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
}
return new Promise(function (resolve, reject) {
getUserMedia.call(navig, constraints, resolve, reject);
});
};
}
return navig;
}