© 2013 All rights reserved.
0

iPhone developer: Přehrávání videa

Pokud potřebujete přehrávat video přímo ve vašem zařízení máte několik možností, buď natáhnout video například z youtube a vložít například pouze do UIWebView, nejlepší řešení je ovšem přehrávat video přímo nativně v aplikaci tak, abyste měli k dispozici všechny možnosti jako například ovládací prvky.

Jako první si musíme do projektu přidat MediaPlayer.framework (postup je stejný jako například zde při přidávání Location frameworku – vyberete MoviePlayer.framework). Framework v sobě obsahuje integrované vlastnisti pro práci s médii, začneme jej používat tím, že si framework includujeme do hlavičkového souboru:

Tímto jsme získali možnosti MediaPlayeru a můžeme si vytvořit proměnnou:

Velmi jednoduše můžeme nyní přidat ovládací prvek do layoutu své aplikace:

Ovládací prvek je sice vytvořen, ale my si musíme načíst do elementu video. Do projektu si musíme přidat video soubor, který musí být ve formátu .mov, .mp4, .mpv, nebo .3gp. Jiné formáty nejsou podporovány, V našem případě si vytvoříme proměnnou s názvem videa, například:

Předpokládá se že v projektu je nalinkován soubor s názvem video.mov.

Nyní můžeme velmi jednoduše vytvořit proměnnou URL, kterou jsme použili při inicializaci a načíst do přehrávače:

a video jednoduše spustíme, pozastavíme nebo zrušíme přehrávání příkazy:

Každý z techto příkazů můžeme volat libovolně, pokud existuje proměnná moviePlayer.

Události přehrávání

Samozřejmě existuje možnost, a určitě bude vyžadována, jak odchytit události, které přehrávač vyvolá. Možností moc není, ale nás bude především zajímat dokončení přehrávání aktuálního videa, abychom mohli například spustit video nadcházející:

Vytvořili jsme si notifikaci, která nad daným MoviePlayerem hlídá DidFinis (dokončení přehrávání) a po jeho splnění volá funkci moviePlayerFinishNotification, kde si můžeme daný event ošetřit:

Comments are closed for this page

About
Hi, i am programmer from the Czech Republic. I love web development (Ruby, Ruby on Rails, PHP, Nette) and iOS development (Objective-C, Cocoa).
To cooperate, here is my phone:
+420 608 836