Wyświetlanie i pobieranie elementów multimedialnych

Gdy użytkownik skonfiguruje urządzenie z funkcją Ambient Display i wybierze źródła multimediów w Zdjęciach Google, Twoja aplikacja może wyświetlać te elementy multimediów.

Zanim rozpoczniesz

Ankieta mediaSourcesSet

Zanim możesz wyświetlić listę elementów multimedialnych na urządzeniu, użytkownik musi wybrać zdjęcia, którymi chce się podzielić z Twoją aplikacją w aplikacji Zdjęcia Google. Twoja aplikacja musi przeprowadzić ankietę na urządzeniu, aby określić, kiedy dokonano tego wyboru.

Okresowo wywołuj metodę devices.get dla konkretnego elementu deviceId. Sprawdź pole mediaSourcesSet w odpowiedzi AmbientDevice. Na początku będzie to false. Gdy użytkownik wybierze źródła mediów, to pole zmieni się na true.

Odpowiedź AmbientDevice zawiera pollingConfigpollInterval, którą należy traktować jako wskazówkę dotyczącą częstotliwości przeprowadzania ankiet.

Wyświetlanie listy elementów multimedialnych

Gdy mediaSourcesSet jest true dla urządzenia, możesz zacząć pobierać elementy multimedialne wybrane przez użytkownika.

  1. Użyj punktu końcowego mediaItems.list: prześlij żądanie GET do punktu końcowego https://photosambient.googleapis.com/v1/mediaItems, podając w ścieżce parametr deviceId.

  2. Zarządzanie stronowaniem (w razie potrzeby): odpowiedź może być podzielona na strony. Aby określić maksymalną liczbę elementów do zwrócenia, użyj parametru pageSize, a aby pobrać kolejne strony wyników, użyj parametru pageToken z poprzedniej odpowiedzi.

  3. Przetwarzanie elementów multimedialnych: odpowiedź będzie zawierać tablicę obiektów AmbientMediaItem, z których każdy reprezentuje wybrany element multimedialny. Te obiekty obejmują istotne informacje, takie jak:

    • id: unikalny identyfikator elementu multimedialnego.
    • creationTime: sygnatura czasowa utworzenia elementu multimedialnego.
    • mediaFile: obiekt zawierający szczegóły umożliwiające dostęp do rzeczywistej treści.

Pole mediaFile zawiera baseUrl. Ten identyfikator baseUrl będziesz używać do tworzenia adresów URL, które umożliwiają dostęp do treści elementu multimedialnego w różnych rozdzielczościach lub formatach.

Podstawowe URL-e

Adresy URL podstawowe w interfejsach API Zdjęć Google zapewniają dostęp do nieprzetworzonych bajtów elementów multimediów, co umożliwia aplikacji ich pobieranie i wyświetlanie. Te adresy URL są uwzględniane w odpowiedziach podczas wyświetlania albumów (interfejs Library API) lub uzyskiwania dostępu do multimediów (interfejsy Library API i Picker API). Pamiętaj, że prawidłowe działanie adresów URL podstawowych wymaga dodatkowych parametrów.

W przypadku interfejsu Picker API:

Wszystkie obiekty PickedMediaItem.mediaFile zawierają element baseUrl.

Adresy URL podstawowe pozostają aktywne przez 60 minut, ale mogą wygasnąć wcześniej, jeśli użytkownik cofnie uprawnienia aplikacji w ustawieniach konta Google.

W przypadku interfejsu Library API:

Adresy URL podstawowe pozostają aktywne przez 60 minut.

Różne podstawowe adresy URL:

  • baseUrl: bezpośredni dostęp do zdjęcia, miniatury filmu lub pobranie filmu w formacie binarnym.
  • coverPhotoBaseUrl: bezpośredni dostęp do zdjęcia okładki albumu.
  • profilePictureBaseUrl: bezpośredni dostęp do zdjęcia profilowego właściciela mediaItem.

Podstawowe adresy URL obrazów

Oto lista opcji, których możesz używać w przypadku adresów URL bazowych obrazów:

Parametr
w, h

Opis

Parametry szerokość w i wysokość h.

Aby uzyskać dostęp do elementu multimedialnego z obrazem, np. zdjęcia lub miniatury filmu, musisz określić wymiary, które mają być wyświetlane w aplikacji (aby obraz mógł zostać przeskalowany do tych wymiarów przy zachowaniu współczynnika proporcji). Aby to zrobić, połącz podstawowy adres URL z wymiary, których potrzebujesz, jak pokazano w przykładach.

Przykłady:

base-url=wmax-width-hmax-height

Oto przykład wyświetlania elementu multimedialnego o szerokości nieprzekraczającej 2048 pikseli i wysokości nieprzekraczającej 1024 pikseli:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Opis

Parametr crop, c.

Jeśli chcesz przyciąć obraz do określonych przez siebie wymiarów, połącz podstawowy adres URL z opcjonalnym parametrem -c oraz obowiązkowymi parametrami w i h.

Rozmiar (w pikselach) powinien mieścić się w zakresie [1, 16383]. Jeśli szerokość lub wysokość obrazu przekracza wymagany rozmiar, obraz jest zmniejszany i przycinany (przy zachowaniu współczynnika proporcji).

Przykłady:

base-url=wmax-width-hmax-height-c

W tym przykładzie aplikacja wyświetla element multimedialny o dokładnej szerokości 256 pikseli i wysokości 256 pikseli, np. miniaturę:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Opis

Parametr pobierz, d.

Jeśli chcesz pobrać obraz, zachowując wszystkie metadane Exif z wyjątkiem metadanych lokalizacji, połącz podstawowy adres URL z parametrem d.

Przykłady:

base-url=d

W tym przykładzie aplikacja pobiera obraz ze wszystkimi metadanymi oprócz metadanych lokalizacji:

https://lh3.googleusercontent.com/p/Az....XabC=d

Podstawowe adresy URL filmów

Oto lista opcji, których możesz używać w przypadku adresów URL filmów:

Parametr
dv

Opis

Aby uzyskać dostęp do bajtów filmu mediaItem, połącz parametr baseUrl z parametrem dv pobieranego filmu.

Parametr dv powoduje przesłanie wysokiej jakości wersji transkodowanej oryginalnego filmu. Parametr jest niezgodny z parametrami wh.

Pobieranie adresów URL filmów może potrwać do kilku sekund.

Przed użyciem tego parametru sprawdź, czy pole mediaMetadata.status elementów multimediów ma wartość READY. Jeśli jednak element multimedialny nie został jeszcze przetworzony, może pojawić się błąd.

Przykłady:

base-url=dv

Z poniższego przykładu dowiesz się, jak pobrać bajty filmu:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c i d

Opis

Aby uzyskać dostęp do miniatury filmu, użyj dowolnego z parametrów adresu URL podstawowego obrazu.

Domyślnie wszystkie miniatury filmów zawierają nakładkę z przyciskiem odtwarzania. Aby usunąć to nakładanie, użyj parametru -no.

Przykłady:

Przykłady znajdziesz w tabeli adresów URL obrazów podstawowych.

no

Opis

Parametr no umożliwiający usunięcie nakładki z miniaturą.

Jeśli chcesz pobrać miniaturę filmu bez nakładki przycisku odtwarzania, połącz podstawowy adres URL z parametrem no.

Parametr no musi być używany z co najmniej jednym z parametrów adresu URL bazowego obrazu.

Przykłady:

base-url=wmax-width-hmax-height-no

Na przykładzie poniżej widać miniaturę filmu o szerokości 1280 pikseli i wysokości 720 pikseli bez przycisku odtwarzania:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

Adresy URL zdjęć ruchomych

Zdjęcia ruchome zawierają zarówno elementy zdjęć, jak i filmów. W przypadku żądań zdjęć w ruchu baseUrl możesz używać parametrów z adresów URL podstawowych obrazu lub adresów URL podstawowych filmu.

Parametr
dv

Opis

Aby pobrać element wideo z multimediów z użyciem zdjęcia w ruchu, użyj parametru dv w taki sam sposób jak w przypadku adresów URL bazowych filmów.

w, h, c i d

Opis

Aby pobrać element zdjęcia z elementu multimedialnego z ruchomym zdjęciem, użyj formatu adresów URL bazowych zdjęć.

Następne kroki

  • Przykładowa aplikacja: nasza przykładowa aplikacja zawiera przykład wyświetlania i pobierania multimediów. Więcej informacji znajdziesz w funkcjach checkMediaSourcesSetfetch_media_item_list.
  • Dokumentacja: zapoznaj się z wyczerpującymi dokumentami referencyjnymi dotyczącymi multimediów, aby uzyskać szczegółowe informacje o wszystkich dostępnych metodach, parametrach żądań i odpowiedzi oraz kodach błędów.