This post comes from the first version of this blog.
Please send me an email if anything needs an update. Thanks!
Praca programisty nie zawsze polega na rozwiązywaniu zaawansowanych problemów programistycznych, czy też tworzeniu złożonych algorytmów przeliczających niewyobrażalne zbiory danych. Czasem potrzebujemy zwyczajnych, prostych, czasem wręcz trywialnych rozwiązań dla problemów naszych klientów. Ostatnio zetknąłem się z jednym z takich problemów - pobieraniem miniaturek do filmów wstawianych poprzez element
Fotografia: mauritsonline, CC-BY.
YouTube: Pobieranie miniatury filmu / wideo.
Do opisu całej sytuacji użyję jednej z genialnych animacji pt. "Animator vs Animation" - dokładnie części czwartej tej "sagi": Jak widać, animacja wstawiła się bardzo ładnie, ale co z miniaturką?Kiedy pierwszy raz pomyślałem o rozwiązaniu tego problemu, zmartwiłem się, że pewnie trzeba będzie znowu użyć jakiegoś API, żeby zrobić teoretycznie prostą rzecz. Okazuje się jednak, że nie jest aż tak źle. Na początku musimy wyciągnąć z adresu identyfikator wideo w systemie. Biorąc pod uwagę to, że nasz URL wideo wygląda następująco:
http://www.youtube.com/embed/Afx85mWjwZAnie będzie to specjalnie trudne. Wystarczy użyć wyrażenia regularnego, ew. skorzystać z następującego kodu:
|
|
i mamy już nasz identyfikator [Afx85mWjwZA] zapisany w zmiennej $imgPath.
Teraz wystarczy użyć następujących adresów URL, aby bezproblemowo uzyskać miniaturki dowolnych wielkości [ID to nasz identyfikator]:
Mała miniaturka [120x90]:
http://img.youtube.com/vi/ID/default.jpg[lub]
Duża miniaturka [320x240]:
http://img.youtube.com/vi/ID/0.jpg
Możemy też użyć plików 2.jpg i 3.jpg, które zawierają kolejne zrzuty ekranu z danego filmu.
Mam nadzieję, że dzięki tak prostej informacji wstawianie miniaturek na stronach internetowych stanie się o wiele prostsze. Nie będziecie też musieli szukać rozwiązania nigdzie indziej. ;]