概覽
從6.2.0+版本開始,適用於Android的Brightcove本機SDK支持從JSON對象創建視頻和播放列表對象的方法。
如果您要使用服務器端代理從Brightcove帳戶檢索視頻和播放列表數據,此功能將非常有用。使用這種方法,您不會在應用程序的客戶端公開策略密鑰。
要創建可播放的視頻和播放列表對象,請執行以下操作:
視頻對象
要創建視頻對象,請將以下信息傳遞給buildVideoFromJSON()
方法:
欄位 | 描述 |
---|---|
account_id |
與影片相關聯的帳號 ID |
id |
視訊識別碼 |
sources |
視頻源的JSON數組。數組中的每個源必須具有:
|
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上配置的。