這個 SDK 已完全淘汰。不再支援或維護
YouTube。請使用
YouTube IFrame Player API。
YouTube 行動版直播深層連結可讓 Android 應用程式直接從行動裝置發起 YouTube 直播。應用程式只需提供進入點 (例如使用者可點擊的按鈕),即可透過 Android 意圖機制啟動行動裝置直播流程。
範例
這個流程會顯示深層連結至 YouTube 應用程式的使用者體驗,也就是使用者會到達行動裝置直播設定畫面的體驗。
- 首先,使用者可設定串流,以及設定標題、隱私模式和其他串流選項。
- 然後,使用者前往「縮圖相片」畫面,設定串流的縮圖。
- 最後,使用者開始直播,使用前置或後置鏡頭播送畫面。
裝置需求
Android 裝置必須符合下列規定,才能正確支援 YouTube 直播和行動裝置直播深層連結:
- Android 版本:Marshmallow (API 23) 以上版本
- 相機:至少一部可錄製 720p 至少 30 Hz 的攝影機
- 麥克風:已開啟麥克風
- 音訊編碼器:硬體加速音訊編碼器,能夠將 8 位元的 PCM 單聲道音訊編碼至 AAC (44.1KHz 以上)
- 影片編碼器:硬體加速視訊編碼器能夠將 720P 原始影片編碼為 H.264/AVC 及 30Hz 以上
- 已安裝 YouTube 應用程式:13.02 以上版本
行動裝置直播意圖規格
為了連結 YouTube 行動裝置直播流程,您的 Android 應用程式會啟動 Intent。意圖會在 YouTube 應用程式中啟動「活動」,啟動直播程序。
意圖格式
行動裝置直播意圖會使用自訂 Action
字串,前往 YouTube 應用程式中的即時建立活動。也會指定 YouTube 行動應用程式的套件名稱。
意圖額外項目
YouTube 應用程式設定流程會處理串流設定。下列 Intent 額外項目會設定與直播相關聯的參數:
參數 | |
---|---|
Intent.EXTRA_REFERRER | 必填。這個參數會指定 URI,代表啟動即時串流活動的應用程式。這個值必須採用含有套件名稱的 android-app: scheme 格式。這個值有助於準確歸因和計算。 |
Intent.EXTRA_SUBJECT | (選用) 這個參數可提供直播的文字說明。而是以 String 形式儲存在 Intent extras 套裝組合中。這個值可以為串流加上品牌訊息,例如「透過 DEVICE 串流播放」。 |
啟動直播流程
步驟 1:檢查支援情形
您的客戶應先確認裝置已安裝 YouTube 應用程式,且 YouTube 應用程式版本支援直播,確認是否能啟動行動裝置直播意圖。以下程式碼範例定義了兩個達成此目的的方法:
canResolveMobileLiveIntent
方法會驗證裝置是否支援行動裝置直播意圖。validateMobileLiveIntent
會在if-else
陳述式的結構定義中呼叫canResolveMobileLiveIntent
方法。- 如果裝置支援這個意圖,裝置就會啟動直播流程。
- 如果裝置不支援 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:啟動直播活動
如要啟動直播流程,用戶端應用程式會建立並啟動意圖,如以下程式碼範例所示:
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); }