Видео жағдайы туралы деректерді беру

Бейне бойынша іздеуде бейнероликтерді ойнату сапасын жақсарту үшін видео жағдайы туралы ақпаратты алуымыз керек. Мысалы, видеоны бастау немесе тоқтату уақыты, айналдыру уақыты және т.б. сондай-ақ видеоны ойнату кезінде пайда болған қателер туралы ақпарат алу маңызды.

  1. Бейне күйі туралы хабарлайтын оқиғалар
  2. Қате туралы мәліметтер
  3. Ойнатқыштың URL параметрлерін қолдау
  4. Smart TV құрылғыларында ойнатқышты басқару

Бейне күйі туралы хабарлайтын оқиғалар

Бейне күйі туралы деректерді беру үшін postMessage механизимін қолданыңыз — ойнатқышта пайда болатын әрбір оқиға үшін (мысалы, бейне ойнатуды бастау) JavaScript кодында window.parent.postMessage функциясын шақырыңыз. Дәлел ретінде ол оқиғаның атауын осы оқиғаның параметрлерімен (мысалы, прогресс-бар позициясы) беру керек.

Ескертпе. postMessage функциясын ата-аналық объект — window.parent үшін шақыру қажет екеніне назар аударыңыз. Бұл бейненің Яндекс іздеу нәтижелерінің негізгі бетінде емес, жеке фреймде орналасуына байланысты (iframe элементінде).
window.parent.postMessage({
    event: <Оқиға атауы>,
    // оқиғаның қосымша параметрлері }, '*');

Ойнатқышты TV-ге арналған бейне бойынша іздеу қосымшасында және видео бойынша мобильді іздеуде көрсету үшін міндетті оқиғалар мен олардың параметрлерін жіберу керек. Қосымша оқиғаларды жіберу ойнатқышпен өзара әрекеттесуді пайдаланушылар үшін ыңғайлы етеді.

Оқиға Сипаттамасы Оқиға параметрлері
Міндетті
inited

Ойнатқышты инициализациялау.

started

Ойнатуды бастау немесе кідірістен кейін ойнатуды жалғастыру.

  • time — секундына прогресс-бардың ағымдағы позициясы.

    Егер time параметрі көрсетілмеген болса, оның әдепкі мәні 0-ге тең.

  • duration — роликтің секундына жалпы ұзақтығы. Секундты дөңгелектемеуге болады.
timeupdate Роликті ойнату (оқиға бірнеше рет қайталанады).
  • time — секундына прогресс-бардың ағымдағы позициясы.
  • duration — роликтің секундына жалпы ұзақтығы. Секундты дөңгелектемеуге болады.

timeupdate <video> элементінің табиғи күйіне ұқсас.

paused

Ойнатуды тоқтату.

  • time — секундына прогресс-бардың ағымдағы позициясы.
ended

Роликті көру аяқталды (роликтің соңына жетті).

  • time — секундына прогресс-бардың ағымдағы позициясы.
error

Ойнату қатесі.

  • time — секундына прогресс-бардың ағымдағы позициясы.

  • code — қате коды.

Қосымша
resumed

Ойнатуды жалғастыру.

  • time — секундына прогресс-бардың ағымдағы позициясы.
  • duration — роликтің секундына жалпы ұзақтығы. Секундты дөңгелектемеуге болады.
Ескертпе. resumed оқиғасы міндетті started оқиғасымен ауыстырылуы мүмкін.
rewound

Видеоны қайта орау.

  • time — секундына прогресс-бардың ағымдағы позициясы.
  • previousTime — секундына прогресс-бардың алдыңғы позициясы.
volumechange Дыбысты қосу, өшіру немесе дыбыс деңгейін өзгерту.

video элементіндегі volumechange табиғи күйіне ұқсас.

adShown

Жарнаманың басталуы.

  • time — секундына прогресс-бардың ағымдағы позициясы.
  • duration — секундына жарнаманың жалпы ұзақтығы. Секундты дөңгелектемеуге болады.
  • skipAdEnabled — жарнаманы өткізіп жіберілуі мүмкін (интерфейсте тиісті хабарлама пайда болады).
  • skipAd — жарнаманы өткізіп жіберу.

Төменде видео туралы деректерді оны қосқан сәтте жіберудің үлгісі қарастырылған. Пайдаланушы ойнатқышта Play батырмасын басқанда қажетті параметрлері бар window.parent.postMessage функциясы шақырылады.

// Бейне ойнатуды бастау кезінде хабарламаны жіберу window.parent.postMessage({   event: 'started',   duration: 30,   time: 5 // Егер ойнату 5 секундта жаңартылса  }, '*');

Қате туралы мәліметтер

Бейнемен жұмыс істеу кезінде туындайтын қателер туралы ақпаратты алу үшін, ойнатқыш window.parent.postMessage функцияларына келесі қате кодтарын жіберуі керек:

Қате коды Сипаттамасы
Қолжетімсіз видео
101 Видео жойылған.
102 Бейнеролик немесе тіркелгі құлыпталған.
103 Бейнеролик жоқ немесе URL мекенжай дұрыс емес.
100 Қолжетімсіз видеоның басқа жағдайлары.
Бейнероликке қолжетімділік шектелген
151 Бейнені көру үшін құқықтарыңыз жеткіліксіз.
152 Бейненің басқа сайттарда ойнатылуына тыйым салынған.
153 Бейненің осы аймақта ойнатылуына тыйым салынады.
154 Пайдаланушыдан растауды талап ететін шектеу (мысалы, жасы бойынша шектеу).
150 Басқа видеоны көру шектеулері.
Өзгесі
5 Плеер жұмысының бұзылуы (HTML ойнатқыштың ойнату қателері және т.б.).
0 Басқа қателер.
// Қате туралы хабарламаны жіберу window.parent.postMessage({
  event: 'error',
  time: 62,
  code: '101'
}, '*');

Ойнатқыштың URL параметрлерін қолдау

Smart TV құрылғыларында және мобильді құрылғыларда бейне ойнату үшін пайдаланушылар үшін ыңғайлы, келесі параметрлерді ойнатқыштың URL мекенжайына сақтаңыз:

Параметр Сипаттамасы Мүмкін болатын мәндер
Міндетті
autoplay

Ойнатуды автоматты түрде іске қосу.

  • 1 — бейнені ойнатуды автоматты түрде бастау;
  • 0 (немесе параметрдің болмауы) — видеоны автоматты түрде ойнатуды бастамаңыз.
<iframe 
  src="//www.videohosting.com/video?autoplay=1">
</iframe>
tv Smart TV құрылғысында ойнатқыштың интерактивті элементтерін көрсетуді басқару.
  • 1 — видеоны ойнату кезінде интерактивті элементтерді автоматты түрде жасыру;
  • 0 (немесе параметр жоқ) — бейнені ойнату кезінде интерактивті элементтерді автоматты түрде жасырмау.
<iframe
  src="//www.videohosting.com/video?tv=1">
</iframe>

Параметр барлық элементтердің көрсетілуін басқарады, тек тінтуір көрсеткішімен ғана басуға болады. Оларға прогресс-бар, маусым және сериялар тізімдері, ойнату сапасын таңдау батырмалары, ойнатуды басқару мәзірі және т. б. жатады.

Бұл элементтер автоматты түрде жасырылса, теледидарда видеоларды көруге ыңғайлы болады.

Қосымша
maxQuality Ойнату сапасын таңдау.
small

Ойнатқыштың биіктігі — 240 пиксель.

4:3 пішімі үшін ең төменгі ойнатқыш өлшемдері — 320 x 240 пиксель.

medium

Ойнатқыштың биіктігі — 360 пиксель.

Ойнатқыштың ең аз өлшемдері:

  • 16:9 пішімі үшін — 640 x 360 пиксель;
  • 4:3 пішімі үшін — 480 x 360 пиксель.
large

Ойнатқыштың биіктігі — 480 пиксель.

Ойнатқыштың ең аз өлшемдері:

  • 16:9 пішімі үшін — 853 x 480 пиксель;
  • 4:3 пішімі үшін — 640 x 480 пиксель.
hd720

Ойнатқыштың биіктігі — 720 пиксель.

Ойнатқыштың ең аз өлшемдері:

  • 16:9 пішімі үшін — 1280 x 720 пиксель;
  • 4:3 пішімі үшін — 960 x 720 пиксель.
hd1080

Ойнатқыштың биіктігі — 1080 пиксель.

Ойнатқыштың ең аз өлшемдері:

  • 16:9 пішімі үшін — 1920 x 1080 пиксель;
  • 4:3 пішімі үшін — 1440 x 1080 пиксель.
highres

Ойнатқыштың биіктігі — 1080 пиксельден көп.

1920 х 1080 пиксельден артық жақтарының арақатынасының пішімі.

default

Пайдаланушы баптауларына, бейне файлына және басқа жағдайларға байланысты ұсынылған ойнату сапасын анықтайды.

<iframe
  src="//www.videohosting.com/video?maxQuality=hd720">
</iframe>

Smart TV құрылғыларында ойнатқышты басқару

Плеермен басқару командалары iframe-ге сыртқы терезеден postMessage механизмі арқылы жіберіледі. iframe ішіндегі хабараламаларды қабылдау үшін message оқиғасына жазылу керек. Команда форматы — міндетті method өрісі бар JSON-объект.

Команда Сипаттамасы
play

Ойнатуды бастау немесе жалғастыру.

{
    method: 'play'
}
pause

Кідірту.

{
    method: 'pause'
}
seek

Уақыттың абсолютті мәніне айналдыру.

{
    method: 'seek',
    time: 10, // уақыт секундпен берілген }
setVolume

Дыбыс деңгейін орнату.

{
    method: 'setVolume',
    volume: 0.5 // дыбыс деңгейі 0..1
}
mute

Дыбысты өшіру.

{
    method: 'mute'
}
unmute

Дыбысты қосу.

{
    method: 'unmute'
}
setQuality

Ойнату сапасын орнату.

{
    method: 'setQuality',
    quality: 'hd720' // small, medium, large, hd720, hd1080, highres немесе default
}

Пәрмен бойынша бейнені іске қосу үлгісі

window.addEventListener('message', function (event) {
     if (event.data.method === 'play') {
         document.getElementById('video').play();
     }
});

Жауап пішімі

Пәрмендердің орындалуы туралы кері байланыс үшін видео жағдайы туралы оқиғаларды қолданыңыз.