來自 JSON 的視訊和播放清單物件

在本主題中,您將學習如何使用必要的 JSON 格式資料呼叫 Android 版 Brightcove 原生 SDK 中的輔助程式方法來建立可播放的視訊和播放清單物件。

概覽

從6.2.0+版本開始,適用於Android的Brightcove本機SDK支持從JSON對象創建視頻和播放列表對象的方法。

如果您要使用服務器端代理從Brightcove帳戶檢索視頻和播放列表數據,此功能將非常有用。使用這種方法,您不會在應用程序的客戶端公開策略密鑰。

要創建可播放的視頻和播放列表對象,請執行以下操作:

  1. 選用性:在服務器端調用Playback API,以返回您的視頻或播放列表數據。
  2. 根據以下必填字段創建JSON格式的對象。
  3. 傳遞JSON格式的對象並調用適當的方法來創建以下內容:
  4. 將返回的視頻或播放列表加載到播放器中。

視頻對象

要創建視頻對象,請將以下信息傳遞給buildVideoFromJSON()方法:

欄位 描述
account_id 與影片相關聯的帳號 ID
id 視訊識別碼
sources 視頻源的JSON數組。數組中的每個源必須具有:
  • 帶有有效URL的src字段
  • 對於HLS或DASH內容,帶有內容的MIME類型的類型字段
  • 對於MP4內容,其值為一個容器字段MP4
duration 以毫秒為單位的視訊持續時間

當您的服務器端代理返回視頻數據時,請使用上表中指定的值構建JSON對象字符串。

{
  "account_id": "3636334163001",
  "sources": [
  {
    "src": "http://f1.media.brightcove.com/4/36356334163001/3636334163001_3637454559001_Cascada-Teaser.mp4",
    "container": "MP4"
  }, {
    "type": "application/x-mpegURL",
    "src": "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8"
  }],
  "id": "3637780364001",
  "duration": 74700
}

將JSON字符串轉換為JSON對象,並將其傳遞給。buildVideoFromJSON()方法:

try {
   JSONObject jsonObject = new JSONObject(response);
   Video video = VideoParser.buildVideoFromJSON(jsonObject, eventEmitter);
  } catch (JSONException e) {
    e.printStackTrace();
  } catch (VideoParseException e) {
    e.printStackTrace();
  }

播放清單物件

要創建播放列表對象,請將以下信息傳遞給buildPlaylistFromJSON()方法:

欄位 描述
account_id 與影片相關聯的帳號 ID
id 視訊識別碼
videos 視頻對象的JSON數組。其中包括必填字段,如視頻對象部分。
duration 以毫秒為單位的視訊持續時間

當您的服務器端代理返回播放列表數據時,請使用上表中指定的值構建JSON對象字符串。

{
  "id": "4970066630001",
  "account_id": "3636335163001",
  "name": "token auth playlist",
  "videos": [{
    "account_id": "3636335763001",
    "id": "4973773347001",
    "sources": [{
      "type": "application/dash+xml",
      "src": "https://brightcove.hs.llnwd.net/v2/unsecured/media/3636334163001/201606/1923/3636334163001_4973820156001_4973773237001.mpd"
    }],
    "duration": 29000
    },
    {
    "account_id": "3636334463001",
    "id": "4973766826001",
    "sources": [{
      "type": "application/dash+xml",
      "src": "http://brightcove.vo.llnwd.net/v1/unsecured/media/3636334163001/201606/2933/3636334163001_4973816542001_4973737826001.mpd"
    }],
    "duration": 29000
    }
  ]
}

將JSON字符串轉換為JSON對象,並將其傳遞給buildPlaylistFromJSON()方法:

try {
   JSONObject jsonObject = new JSONObject(response);
   Playlist playlist = VideoParser.buildPlaylistFromJSON(jsonObject, eventEmitter);
  } catch (JSONException e) {
    e.printStackTrace();
  } catch (VideoParseException e) {
    e.printStackTrace();
  }

注意事項

如果您的內容受TTL(生存時間)控制,並且您想創建一個長期存在的視頻對象,則需要確保其繼續可播放。這是在您使用的CDN上配置的。