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

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

  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 — роликтің секундына жалпы ұзақтығы. Секундты дөңгелектемеуге болады.

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

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',
    уақыт: 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();
     }
});

Жауап пішімі

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