@dhruv479Dhruv Bansal
JavaScript Developer از هند.
در این همه گیری ، چیزهای زیادی با فرهنگ کار تغییر کرده است. چیزی که هنوز نمی توانیم از شر آن خلاص شویم جلسات از راه دور. در یکی از آن جلسات ، من در مورد سیستم عامل جلسات Google کنجکاو شدم و پس از جستجوی کمی متوجه شدم که مرورگرهای ما قادر به انجام چه برنامه هایی هستند (API های مرورگر داخلی).
بنابراین ، من قصد داشتم یک ضبط کننده ساده رایگان ایجاد کنم که از قابلیت ضبط صدا ، ویدئو و صفحه در http://recorder.dhruv479.dev پشتیبانی کند.
برای ادامه کار ، باید با برخی اصطلاحات آشنا شوید:
ضبط رسانه: رابط MediaRecorder از MediaStream API قابلیت ضبط آسان رسانه را فراهم می کند ref: MDN
MediaDevices: رابط MediaDevices دسترسی به دستگاه های ورودی رسانه متصل مانند دوربین ها و میکروفون ها و همچنین اشتراک صفحه را فراهم می کند ref: MDN
خوب ، آماده رول کردن است؟ بیایید چند کد اضافه کنیم!
کنترل کننده ضبط: در ابتدا ، ما یک تابع را می نویسیم که جریان و mimeType را دریافت می کند ، تکه های داده را جمع آوری می کند و سپس بارگیری فایل بر روی دستگاه محلی را از مرورگر امکان پذیر می کند.
const handleRecord = function ({stream, mimeType}) {
// to collect stream chunks
let recordedChunks = [];
stopped = false;
const mediaRecorder = new MediaRecorder(stream);
mediaRecorder.ondataavailable = function (e) {
if (e.data.size 0) {
...