رفتن به محتوای اصلی
بازگشت به وبلاگ

راهنماهای هوش مصنوعی

preload صوت دانلود را متوقف می‌کند؟ پنج مشاهدهٔ محلیِ واقعی

none، metadata، auto و srcِ تعیین‌نشده را رویِ صوتِ مصنوعی بررسی کنید؛ در Edgeِ آزمون با load صریح هر سه حالت فایلِ کوچک را گرفتند.

ویژگیِ preload به مرورگر پیشنهاد می‌دهد رسانه را چه‌قدر پیشاپیش آماده کند؛ قراردادِ قطعیِ سقفِ دانلود نیست. تعیینِ src، فراخوانیِ load و درخواستِ جداگانهٔ کدِ صفحه هم در رفتار دخالت دارند. برایِ دیدنِ نتیجه، پنج حالت را رویِ یک WAV مصنوعیِ دوثانیه‌ای و فقط در نشانیِ محلی اجرا کردیم؛ هیچ صدا پخش یا میکروفنی باز نشده است.

سه مقدارِ شناخته‌شده و یک کنترلِ جدا

none درخواستِ پیش‌بارگذاری‌نشدن، metadata پیشنهادِ دریافتِ اطلاعاتی مثلِ مدت و auto اجازهٔ پیش‌دریافتِ بیشتر را بیان می‌کنند. مقدارِ خالی هم در قراردادِ منبع معادلِ auto است. استاندارد می‌گوید این راهنما ممکن است بر اساسِ ترجیحِ کاربر یا وضعیتِ اتصال نادیده گرفته شود؛ آن را قفلِ شبکه یا حقِ دسترسی به فایل نمی‌نامیم.

حالتِ کنترلیِ deferred-source در فایلِ ما مقدارِ استانداردِ preload نیست. در آن audio با preload=none ساخته می‌شود، اما هیچ src تعیین و load هم فراخوانی نمی‌شود. این نامِ محلیِ سناریویِ آزمون است تا نبودِ منبع را از پیشنهادِ none رویِ یک منبعِ تعیین‌شده جدا کنیم.

قراردادِ واقعیِ آزمایش چه بود؟

فایلِ Pythonِ همراه با دادهٔ تولیدشدهٔ سینوسی، WAV تک‌کانالهٔ PCM16 با نرخِ ۱۶۰۰۰ و مدتِ دو ثانیه می‌سازد؛ اندازهٔ فایل ۶۴۰۴۴ بایت است. دو سرور فقط رویِ ۱۲۷.۰.۰.۱ گوش می‌دهند و فایلِ شخصی یا دادهٔ گفتار دریافت نمی‌کنند. برایِ این بررسی از نشانیِ نخست و مسیرِ tone.wav استفاده شد.

مرورگرِ Edge جدا و بی‌صدا با نسخهٔ 154.0.4258.37 بود. هر حالت در context تازه و بدونِ حساب اجرا شد؛ رهگیریِ مسیرهایِ صفحه فعال بود و این تنظیم می‌تواند کش را غیرفعال کند. پس از تعیینِ src در سه حالتِ استاندارد، load را هم صریح صدا زدیم و ۱۲۰۰ میلی‌ثانیه مشاهده کردیم. نتیجه، رفتارِ بدونِ load یا مرورگرهایِ دیگر نیست.

پاسخ‌هایِ واقعاً دیده‌شده

حالتِ همین آزمونپاسخِ صوتجمعِ بایتِ بدنهٔ پاسخمدتِ معلوم
none1640442
metadata1640442
auto1640442
none+explicit-fetch21280882
deferred-source00نامعلوم

در هر سه حالتِ none،metadata وauto با src و load صریح، درخواستِ رسانه با Range: bytes=0- فرستاده شد و پاسخِ ۲۰۶ کلِ ۶۴۰۴۴ بایتِ این فایلِ کوچک را داشت. بنابراین در این اجرا حتی metadata به دریافتِ بخشِ کوچکی محدود نشد. این مشاهده را قاعدهٔ همیشگیِ همهٔ فایل‌ها یا نسخه‌ها نمی‌دانیم.

در حالتِ none همراهِ fetchِ جدا، یک پاسخِ ۲۰۰ برایِ fetch و یک پاسخِ ۲۰۶ برایِ رسانه دیدیم؛ جمعِ بدنه‌ها ۱۲۸۰۸۸ بایت شد. جمعِ بایتِ بدنه، اندازهٔ یکتایِ فایل یا همهٔ بایت‌هایِ رویِ سیم با سربرگ و رمزنگاری نیست. زمانِ کلِ شبکه، RAM و کیفیتِ پخش را هم اندازه نگرفتیم.

کنترلِ بدونِ src چه چیزی را نشان داد؟

در همین پنجرهٔ مشاهده، برایِ audioِ بدونِ src هیچ درخواستِ tone.wav ثبت نشد؛ readyState و networkState صفر و مدت هنوز نامعلوم بود. نامعلوم‌بودنِ مدت را صفرثانیه‌بودنِ فایل نمی‌نامیم. این کنترل فقط دربارهٔ همین عنصر و کدِ محلی است؛ مانعِ fetchِ مستقل یا درخواستِ عناصرِ دیگرِ صفحه نیست.

اگر هدف تعویقِ دریافت تا اقدامِ کاربر است، زمانِ واگذاریِ منبع و کدهایی که load یا fetch می‌زنند را هم بررسی کنید. صرفِ عوض‌کردنِ یک attribute رویِ رسانه‌ای که قبلاً دریافت شده، دادهٔ دریافت‌شده را پس نمی‌گیرد. در سایتِ واقعی، autoplay،کش،اندازهٔ فایل و تنظیمِ مرورگر باید در گزارش ثبت شوند.

تمرین را چگونه بازتولید کنیم؟

  1. فایلِ Python را در محیطِ محلی اجرا و نشانیِ اولی را که چاپ می‌کند باز کنید؛ نیازی به فایلِ صدایِ خودتان نیست.
  2. در همان صفحهٔ محلی، تابعِ متنیِ همراه را در ابزارِ توسعه‌دهنده وارد کنید؛ تابع رویِ میزبانِ دیگری اجرا نمی‌شود.
  3. در Network مسیرِ tone.wav را فیلتر و هر سناریو را در context تازه آزمایش کنید؛ نمونهٔ فراخوانی await probeTeachingPreload('metadata') است.
  4. حالتِ deferred-source و probeTeachingPreload('none', true) را جدا ببینید؛ دومی عمداً fetch مستقل دارد.
  5. نسخهٔ مرورگر، وضعیتِ کش، پنجرهٔ مشاهده و صداهایِ درخواست‌نشده را کنارِ نتیجه ثبت کنید؛ اجرا هیچ play یا دسترسیِ میکروفن ندارد.

خواندنِ پاسخِ Range برایِ تفسیرِ بایت و وضعیتِ پاسخ مفید است؛ آن موضوع با راهنمایِ پیش‌بارگذاری یکی نیست. اگر خروجیِ اپراگو قرار است در سایت پخش شود، میزبان و شیوهٔ بارگذاری را جدا هماهنگ کنید؛ این تمرین رفتارِ داخلیِ محصول یا تضمینِ کاهشِ هزینهٔ شبکه نیست.

فایل تمرین و منبع

سازندهٔ محلیِ WAV مصنوعی و دو نشانیِ ۱۲۷.۰.۰.۱ · تابعِ پنج حالتِ preload و کنترلِ بدونِ منبع، فقط برایِ همان صفحهٔ محلی

منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثال‌ها و فایل‌های این راهنما آموزشی و ساختهٔ تحریریه‌اند.

برای این نیاز، کدام خدمت مناسب‌تر است؟

تماس و منشی، چت سایت و تحلیل مکالمه سه مسیر متفاوت‌اند. ابتدا خدمت متناسب نیازتان را انتخاب کنید.

انتخاب میان سه خدمتراهنمای شروع با تیم اپرا

برآورد هزینه