Ссылка на контент YouTube Mobile Live позволяет приложениям Android инициировать прямую трансляцию YouTube прямо с мобильного устройства. Приложению нужно только предоставить точку входа, например кнопку, которую пользователь может нажать, чтобы запустить поток Mobile Live с помощью механизма Android Intent.
Пример
Этот поток показывает взаимодействие с пользователем для приложения, которое имеет глубокие ссылки на приложение YouTube, где пользователь попадает на экран настройки мобильной прямой трансляции.
- Сначала пользователь настраивает поток, устанавливая заголовок, режим конфиденциальности и другие параметры потока.
- Затем пользователь переходит к экрану Thumbnail Photo, чтобы установить эскиз изображения для потока.
- Наконец, пользователь запускает прямую трансляцию и транслирует вид с передней или задней камеры.
![](https://developers.google.cn/static/youtube/android/live/images/mobile-live-intent1.png?authuser=6&hl=ru)
![](https://developers.google.cn/static/youtube/android/live/images/mobile-live-intent2.png?authuser=6&hl=ru)
![](https://developers.google.cn/static/youtube/android/live/images/mobile-live-intent3.png?authuser=6&hl=ru)
Требования к устройству
Устройства Android должны соответствовать следующим требованиям для правильной поддержки прямой трансляции YouTube и прямой ссылки Mobile Live:
- Версия для Android: Marshmallow (API 23) или выше
- Камера: по крайней мере одна камера, способная записывать 720p с частотой не менее 30 Гц.
- Микрофон: встроенный микрофон
- Аудиокодер: аппаратно-ускоренный аудиокодер, способный кодировать 8-битный монофонический звук PCM в AAC с частотой 44,1 кГц или лучше.
- Видеокодер: видеокодер с аппаратным ускорением, способный кодировать необработанное видео 720P в H.264/AVC с частотой 30 Гц или лучше.
- Установленное приложение YouTube: версия 13.02 или выше.
Спецификация Mobile Live Intent
Чтобы подключиться к потоку прямых трансляций YouTube для мобильных устройств, ваше приложение для 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 как String . Это значение можно использовать для аннотирования потока брендированным сообщением, например «Прямая трансляция с 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(); 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 } }
Шаг 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); }