Lancement de diffusions en direct YouTube sur les appareils Android

Ce SDK a été entièrement abandonné. Elle n'est plus gérée ni gérée par YouTube. Veuillez utiliser l'API YouTube IFrame Player.

Le lien profond YouTube En direct permet aux applications Android de lancer une diffusion en direct YouTube directement depuis un appareil mobile. Une application doit simplement fournir un point d'entrée (un bouton sur lequel l'utilisateur peut cliquer, par exemple) qui lance le flux en direct sur mobile via le mécanisme d'intent Android.

Exemple

Ce parcours présente l'expérience utilisateur d'une application comportant des liens profonds vers l'application YouTube, sur laquelle l'utilisateur est redirigé vers l'écran de configuration de la diffusion en direct sur mobile.

  1. Tout d'abord, l'utilisateur configure le flux, en définissant le titre, le mode de confidentialité et d'autres options de flux.
  2. L'utilisateur accède ensuite à l'écran "Vignette" afin de définir une miniature pour le flux.
  3. Enfin, l'utilisateur lance la diffusion en direct et diffuse la vue depuis la caméra avant ou arrière.

Configuration requise de l'appareil

Les appareils Android doivent répondre aux exigences suivantes pour que la diffusion en direct YouTube et le lien profond pour mobile en direct puissent être utilisés correctement:

  • Version d'Android:Marshmallow (API 23) ou version ultérieure
  • Caméra:au moins une caméra capable d'enregistrer en 720p au moins 30 Hz
  • Micro:micro intégré
  • Encodeur audio:encodeur audio accéléré par le matériel, capable d'encoder un fichier audio PCM mono 8 bits en AAC à 44,1 KHz ou plus
  • Encodeur vidéo:encodeur vidéo accéléré par le matériel capable d'encoder des vidéos brutes de 720p en H.264/AVC avec une fréquence d'au moins 30 Hz
  • Application YouTube installée:version 13.02 ou ultérieure

Spécification d'intention pour les diffusions en direct sur mobile

Pour créer une association avec le flux de streaming en direct YouTube pour mobile, votre application Android lance un intent. L'intent lance le processus de diffusion en direct en démarrant une Activity dans l'application YouTube.

Format d'intent

L'intent Mobile Live utilise une chaîne Action personnalisée pour accéder à l'activité de création en direct dans l'application YouTube. Il spécifie également le nom de package de l'application mobile YouTube.

  • Action : "com.google.android.youtube.intent.action.CREATE_LIVE_STREAM"
  • Package: "com.google.android.youtube"

Extras d'intent

Le processus de configuration de l'application YouTube gère la configuration du flux. Les extras d'intent suivants définissent les paramètres associés au flux en direct:

Paramètres
Intent.EXTRA_REFERRER Obligatoire : Ce paramètre spécifie un URI qui représente l'application qui lance l'activité de streaming en direct. Cette valeur doit respecter le format android-app: scheme avec un nom de package. Cette valeur permet une attribution et une comptabilité précises.
Intent.EXTRA_SUBJECT Facultatif. Ce paramètre fournit une description textuelle de la diffusion en direct. Elle est placée dans le bundle d'extras d'intent en tant que String. La valeur peut être utilisée pour annoter le flux avec un message associé à une marque, tel que "Streaming en direct depuis DEVICE".

Lancer le flux de diffusion en direct

Étape 1: Recherchez l'assistance

Votre client doit d'abord confirmer que l'intent Mobile Live peut être lancé en vérifiant que l'application YouTube est installée sur l'appareil et que la version de l'application YouTube est compatible avec le streaming en direct. Pour ce faire, l'exemple de code suivant définit deux méthodes:

  • La méthode canResolveMobileLiveIntent vérifie que l'appareil est compatible avec l'intent Mobile Live.
  • validateMobileLiveIntent appelle la méthode canResolveMobileLiveIntent dans le contexte d'une instruction if-else.
    • Si l'appareil est compatible avec l'intent, il peut lancer le flux de diffusion en direct.
    • Si l'appareil n'est pas compatible avec l'intent, il peut inviter l'utilisateur à installer ou à mettre à jour l'application 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();
  List resolveInfo = 
    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
  }
}

Étape 2: Lancez l'activité de diffusion en direct

Pour démarrer le flux de diffusion en direct, votre application cliente crée et lance un intent, comme indiqué dans l'exemple de code suivant:

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);
}