گوگل به پیشبرد تساوی نژادی برای جوامع سیاه متعهد است. ببینید چگونه.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

ضبط رسانه ها و محدودیت

بخش رسانه ای را پوشش می دهد از WebRTC چگونه به سخت افزار دسترسی قادر به ضبط فیلم و صدا، مانند دوربین و میکروفن، و همچنین چگونه رسانه های جریان کار. این نیز پوشش می دهد رسانه ها، این است که چگونه یک برنامه می تواند گرفتن صفحه نمایش است.

دستگاه های رسانه

همه دوربین ها و میکروفن است که توسط مرورگر پشتیبانی می شوند دیده و مدیریت را از طریق navigator.mediaDevices شی. نرم افزار می توانید لیست فعلی از دستگاه های متصل بازیابی و همچنین برای تغییر گوش دادن، از بسیاری از دوربین ها و microhpones از طریق USB متصل شده و می تواند متصل شود و قطع در طول چرخه عمر نرم افزار. از آنجا که دولت از یک دستگاه رسانه ها می توانند در هر زمان تغییر، توصیه می شود که برنامه های کاربردی برای تغییرات دستگاه به منظور به درستی تغییرات دسته ثبت نام کنید.

محدودیت ها

هنگامی که دسترسی به دستگاه های رسانه ها، آن را یک عمل خوب را به عنوان محدودیت های دقیق که ممکن است ارائه شده است. در حالی که ممکن است برای باز کردن دوربین به طور پیش فرض و میکروفون با محدودیت ساده، آن را ممکن است یک جریان رسانه است که به دور از ترین بهینه برای برنامه ارائه کرده است.

محدودیت ها در یک تعریف MediaTrackConstraint شی، یکی برای صوت و یکی برای ویدیو. ویژگی های در این شی از نوع هستند ConstraintLong ، ConstraintBoolean ، ConstraintDouble یا ConstraintDOMString . این هم می تواند یک مقدار خاص (به عنوان مثال، تعداد، بولی یا رشته ای)، طیف (باشد LongRange یا DoubleRange با حداقل و حداکثر مقدار) و یا یک شی با هم یک ideal و یا exact تعریف. برای یک مقدار خاص، مرورگر تلاش خواهد به انتخاب چیزی به عنوان نزدیک که ممکن است. برای طیف، بهترین ارزش در آن محدوده استفاده خواهد شد. هنگامی که exact مشخص شده باشد، تنها جریان رسانه های که دقیقا مطابقت آن محدودیت را برگردانده خواهد شد.

نزدیک

 // Camera with a resolution as close to 640x480 as possible
{
    "video": {
        "width": 640,
        "height": 480
    }
}
 

دامنه

 // Camera with a resolution in the range 640x480 to 1024x768
{
    "video": {
        "width": {
            "min": 640,
            "max": 1024
        },
        "height": {
            "min": 480,
            "max": 768
        }
    }
}
 

دقیق

 // Camera with the exact resolution of 1024x768
{
    "video": {
        "width": {
            "exact": 1024
        },
        "height": {
            "exact": 768
        }
    }
}
 

برای تعیین پیکربندی واقعی یک مسیر خاص از یک جریان رسانه ها، ما می توانیم پاسخ MediaStreamTrack.getSettings() که بر می گرداند MediaTrackSettings در حال حاضر استفاده می شود.

همچنین ممکن است برای به روز رسانی محدودیت های یک آهنگ از یک دستگاه رسانه های ما باز کرده اند، با تماس applyConstraints() در مسیر. این اجازه می دهد تا یک برنامه دوباره پیکربندی یک دستگاه رسانه اولین بار بدون نیاز به بستن جریان موجود.

رسانه ها

برنامه ای که می خواهد به قادر به انجام گرفتن صفحه نمایش و ضبط باید ها API رسانه استفاده کنید. تابع getDisplayMedia() (که بخشی از navigator.mediaDevices شبیه به getUserMedia() است و برای هدف از باز کردن این مطالب از صفحه نمایش (و یا بخشی از آن، مانند یک پنجره استفاده می شود). در بازگشت MediaStream کار می کند همان زمانی که با استفاده از getUserMedia() .

محدودیت برای getDisplayMedia() از آنهایی که مورد استفاده برای ویدیو طور منظم و یا ورودی های صوتی متفاوت است.

 {
    video: {
        cursor: 'always' | 'motion' | 'never',
        displaySurface: 'application' | 'browser' | 'monitor' | 'window'
    }
}
 

snipet کد بالا را نشان می دهد که چگونه محدودیت های ویژه ای برای ضبط صفحه نمایش کار می کند. توجه داشته باشید که این ممکن است توسط تمام مرورگرهای است که پشتیبانی رسانه ها پشتیبانی نمی شود.

رودخانه ها و آهنگ های

MediaStream نشان دهنده یک جریان از محتوای رسانه ها، که متشکل از آهنگ ( MediaStreamTrack ) صوتی و تصویری. شما می توانید تمام آهنگ های از بازیابی MediaStream با تماس MediaStream.getTracks() ، که برمی گرداند آرایه ای از MediaStreamTrack اشیاء.

MediaStreamTrack

MediaStreamTrack است kind مالکیت است که یا audio و یا video ، نشان می دهد نوع از رسانه ها آن را نشان دهنده. هر آهنگ را می توان با روشن نیست آن خاموش enabled اموال. یک آهنگ یک ویژگی بولی remote است که نشان می دهد اگر آن را توسط یک منبع RTCPeerConnection و از یک همکار از راه دور.