Я строю веб -приложение, которое необходимо запечатлеть и сохранить запись экрана пользователя на своем телефоне. В браузерах на рабочем столе я могу использовать: < /p>
if (navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {
const screenStream = await navigator.mediaDevices.getDisplayMedia({ video: true });
const recorder = new MediaRecorder(screenStream);
const chunks = [];
recorder.ondataavailable = e => chunks.push(e.data);
recorder.onstop = () => {
const blob = new Blob(chunks, { type: 'video/webm' });
// …upload or save “blob”…
};
recorder.start();
// Stop after X seconds, or when user clicks “Stop”
}
Но на mobile safari (ios 15+) и chrome на Android , navigator.mediaDevices.getDisplaymedia либо , либо выдвигает ошибку. Я не нашел никакой надежной документации по захвату всего экрана (не только камеры) в мобильных браузерах. < /P>
• **What APIs or polyfills** exist to enable screen capture on mobile browsers?
• Are there any **workarounds** (e.g. WebRTC-based, Cordova/Capacitor plugins, user-driven screen-share intents) that allow me to record the screen without requiring a native app?
• How do popular web apps (e.g. Loom, Zoom) achieve in-browser screen recording on smartphones?
< /code>
Любое руководство или примеры будут высоко оценены! < /p>
Что я попробовал: < /p>
1. Using getDisplayMedia() on mobile — not supported.
2. Fallback to getUserMedia({ video: { mediaSource: "screen" } }) — errors out.
3. Investigated WebRTC screen-capture flags — no mobile support.
Подробнее здесь: https://stackoverflow.com/questions/796 ... he-browser