Precyzyjny link YouTube na żywo umożliwia aplikacjom na Androida rozpoczęcie transmisji na żywo w YouTube bezpośrednio z urządzenia mobilnego. Aplikacja musi tylko udostępnić punkt wejścia (na przykład przycisk, który użytkownik może uruchomić) i rozpocząć transmisję na żywo z urządzenia mobilnego za pomocą mechanizmu intencji Androida.
Przykład
Ten proces przedstawia wrażenia użytkowników aplikacji z precyzyjnymi linkami do aplikacji YouTube, w których użytkownik otwiera ekran konfiguracji Mobilna transmisja na żywo.
- Najpierw użytkownik konfiguruje transmisję, wybierając tytuł, tryb prywatności i inne opcje strumienia.
- Następnie przechodzi na ekran ze miniaturą, aby ustawić miniaturę strumienia.
- Na koniec użytkownik rozpoczyna transmisję na żywo i przesyła obraz z przedniego lub tylnego aparatu.
Wymagania sprzętowe
Aby urządzenia z Androidem prawidłowo obsługiwały transmisje na żywo i precyzyjny link na żywo na urządzeniu mobilnym z Androidem, muszą spełniać te wymagania:
- Wersja Androida: Marshmallow (API 23) lub nowsza
- Kamera: co najmniej jedna kamera może nagrywać rozdzielczość 720p przy co najmniej 30 Hz.
- Mikrofon: włącz mikrofon.
- Koder audio: sprzętowy akcelerator audio z możliwością kodowania 8-bitowego dźwięku PCM mono do AAC z szybkością 44,1 kHz lub lepszym
- Koder wideo: akcelerowany sprzętowy koder wideo z kodowaniem 720P nieprzetworzonych filmów do H.264/AVC przy 30 Hz lub lepszym.
- Zainstalowana aplikacja YouTube: wersja 13.02 lub nowsza
Specyfikacja Mobile Live Intent
Aby połączyć się z transmisją na żywo w aplikacji mobilnej YouTube, aplikacja na Androida uruchamia zamiar. Zamiar inicjuje proces transmitowania na żywo, uruchamiając w aplikacji YouTube Aktywność.
Format intencji
Intencja mobilna na żywo używa niestandardowego ciągu Action
, aby uruchamiać aktywność związaną z tworzeniem na żywo w aplikacji YouTube. Określa też nazwę pakietu aplikacji mobilnej YouTube.
- Działanie: „
com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
” - Pakiet: „
com.google.android.youtube
”
Podobne zamiary
Procesem konfiguracji aplikacji YouTube zajmuje się strumień. Dodatki do intencji określają parametry powiązane z transmisją na żywo:
Parametry | |
---|---|
Zamiar.EXTRA_REFERRER | Required. Ten parametr określa identyfikator URI, który reprezentuje aplikację uruchamiającą aktywność związaną z transmisją na żywo. Ta wartość musi być podana w formacie android-app: scheme z nazwą pakietu. Wartość ta zapewnia dokładną atrybucję i rachunkowość. |
Zamiar.EXTRA_SUBJECT | Opcjonalnie. Parametr ten zawiera opis tekstowy transmisji na żywo. Umieszcza się go w pakiecie Intents w ciągu znaków. Wartość może być adnotowana przy użyciu komunikatu dotyczącego marki, np. „Transmisja na żywo z urządzenia DEVICE”. |
Rozpoczynanie transmisji na żywo
Krok 1. Sprawdź pomoc
Klient powinien najpierw potwierdzić, że można go uruchomić, sprawdzając, czy aplikacja YouTube jest zainstalowana na urządzeniu i czy jej wersja obsługuje transmitowanie na żywo. Poniższy przykładowy kod definiuje do tego 2 metody:
- Metoda
canResolveMobileLiveIntent
sprawdza, czy urządzenie obsługuje Intencję mobilną. validateMobileLiveIntent
wywołuje metodęcanResolveMobileLiveIntent
w kontekście instrukcjiif-else
.- Jeśli urządzenie obsługuje intencję, może rozpocząć proces transmitowania na żywo.
- Jeśli urządzenie nie obsługuje intencji, może wyświetlić prośbę o zainstalowanie lub uaktualnienie aplikacji YouTube.
private boolean canResolveMobileLiveIntent(Context context) { Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM") .setPackage("com.google.android.youtube"); PackageManager pm = context.getPackageManager(); ListresolveInfo = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); return resolveInfo != null && !resolveInfo.isEmpty(); } private void validateMobileLiveIntent(Context context) { if (canResolveMobileLiveIntent(context)) { // Launch the live stream Activity } else { // Prompt user to install or upgrade the YouTube app } }
Krok 2. Uruchom aktywność związaną z transmisją na żywo
Aby rozpocząć proces transmitowania na żywo, aplikacja kliencka tworzy intencję, jak pokazano na tym przykładowym kodzie:
private Intent createMobileLiveIntent(Context context, String description) { Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM") .setPackage("com.google.android.youtube"); Uri referrer = new Uri.Builder() .scheme("android-app") .appendPath(context.getPackageName()) .build(); intent.putExtra(Intent.EXTRA_REFERRER, referrer); if (!TextUtils.isEmpty(description)) { intent.putExtra(Intent.EXTRA_SUBJECT, description); } return intent; } private void startMobileLive(Context context) { Intent mobileLiveIntent = createMobileLiveIntent(context, "Streaming via ..."); startActivity(mobileLiveIntent); }