راه‌اندازی پخش جریانی زنده YouTube در دستگاه‌های Android

پیوند عمیق YouTube Mobile Live به برنامه‌های Android امکان می‌دهد مستقیماً از یک دستگاه تلفن همراه پخش زنده YouTube را شروع کنند. یک برنامه فقط باید یک نقطه ورودی، مانند دکمه‌ای که کاربر می‌تواند روی آن کلیک کند، ارائه کند که جریان موبایل Live را از طریق مکانیسم Android Intent شروع می‌کند.

مثال

این جریان تجربه کاربر را برای برنامه‌ای نشان می‌دهد که به برنامه YouTube پیوند عمیق می‌دهد، جایی که کاربر روی صفحه راه‌اندازی جریان زنده موبایل قرار می‌گیرد.

  1. ابتدا کاربر استریم را پیکربندی می کند، عنوان، حالت حریم خصوصی و سایر گزینه های پخش را تنظیم می کند.
  2. سپس، کاربر به صفحه عکس بند انگشتی حرکت می کند تا یک تصویر کوچک برای جریان تنظیم کند.
  3. در نهایت کاربر پخش زنده را شروع می کند و نما را از دوربین جلو یا عقب پخش می کند.

الزامات دستگاه

دستگاه‌های Android برای پشتیبانی مناسب از پخش زنده YouTube و پیوند عمیق Mobile Live باید شرایط زیر را داشته باشند:

  • نسخه اندروید: Marshmallow (API 23) یا بالاتر
  • دوربین: حداقل یک دوربین قادر به ضبط 720p در حداقل 30 هرتز است
  • میکروفون: میکروفون داخلی
  • رمزگذار صوتی: رمزگذار صوتی با شتاب سخت‌افزاری که می‌تواند صدای مونو PCM 8 بیتی را به AAC با فرکانس 44.1 کیلوهرتز یا بهتر رمزگذاری کند.
  • رمزگذار ویدیو: رمزگذار ویدیوی شتاب‌دار سخت‌افزاری که می‌تواند ویدیوی خام 720P را به H.264/AVC در 30 هرتز یا بهتر رمزگذاری کند.
  • برنامه YouTube نصب شده: نسخه 13.02 یا بالاتر

مشخصات موبایل Live Intent

برای پیوند به جریان پخش زنده YouTube Mobile، برنامه Android شما یک Intent راه‌اندازی می‌کند. Intent با شروع یک فعالیت در برنامه YouTube، فرآیند پخش زنده را آغاز می کند.

قالب قصد

Mobile Live Intent از یک رشته Action سفارشی برای پیمایش به فعالیت ایجاد زنده در برنامه YouTube استفاده می کند. همچنین نام بسته را برای برنامه تلفن همراه YouTube مشخص می کند.

  • اقدام : " com.google.android.youtube.intent.action.CREATE_LIVE_STREAM "
  • بسته : " com.google.android.youtube "

موارد اضافی قصد

جریان تنظیم برنامه YouTube پیکربندی جریان را کنترل می کند. موارد اضافی Intent زیر پارامترهای مرتبط با پخش زنده را تنظیم می کنند:

پارامترها
قصد. EXTRA_REFERRER مورد نیاز . این پارامتر یک URI را مشخص می کند که نشان دهنده برنامه ای است که فعالیت پخش زنده را راه اندازی می کند. این مقدار باید از قالب android-app: scheme با نام بسته پیروی کند. ارزش اسناد و حسابداری دقیق را امکان پذیر می کند.
قصد. EXTRA_SUBJECT اختیاری این پارامتر یک توضیح متنی از جریان زنده ارائه می دهد. در بسته Intent اضافی به عنوان یک رشته قرار می گیرد. می‌توان از این مقدار برای حاشیه‌نویسی جریان با پیام مارکدار، مانند «پخش مستقیم از DEVICE» استفاده کرد.

راه اندازی جریان پخش زنده

مرحله 1: پشتیبانی را بررسی کنید

مشتری شما ابتدا باید تأیید کند که Mobile Live Intent می‌تواند با تأیید اینکه برنامه YouTube بر روی دستگاه نصب شده است و اینکه نسخه برنامه YouTube از پخش زنده پشتیبانی می‌کند، راه‌اندازی شود. نمونه کد زیر دو روش را برای این کار تعریف می کند:

  • روش canResolveMobileLiveIntent تأیید می کند که دستگاه از Mobile Live Intent پشتیبانی می کند.
  • validateMobileLiveIntent متد canResolveMobileLiveIntent را در متن یک عبارت if-else فراخوانی می کند.
    • اگر دستگاه از Intent پشتیبانی کند، دستگاه می‌تواند جریان پخش زنده را راه‌اندازی کند.
    • اگر دستگاه از Intent پشتیبانی نمی‌کند، دستگاه می‌تواند از کاربر بخواهد برنامه 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
  }
}

مرحله 2: فعالیت پخش زنده را راه اندازی کنید

برای شروع جریان پخش زنده، برنامه مشتری شما یک Intent را همانطور که در نمونه کد زیر نشان داده شده است ایجاد و راه اندازی می کند:

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