apicloud如何對接大牛直播SDK

隨著apicloud的普及,越來越多的用戶苦于apicloud下沒有一款真正靠譜低延遲的rtmp/rtsp直播播放器苦惱。

鑒于此,大牛直播SDK攜手apicloud資深版主,推出apicloud對接方案:

apicloud官方鏈接:https://www.apicloud.com/mod_detail/49069

apicloud對接版本說明:https://docs.apicloud.com/Client-API/Open-SDK/daniuPlayer

相關接口如下:

視沃科技-大牛直播SDK

專注、極致、智慧,國內外為數不多不依賴開源框架、跨平臺(windows/android/iOS)、公網推送(支持rtmp)-轉發-播放-錄像(支持rtmp/rtsp),比快更快,業界真正靠譜的超低延遲(真1秒,低延遲模式下200~400ms)。

適用于在線教育、無紙化推屏/會議、智慧教室、智能可視門禁對講、超低延遲娃娃機抓取播放方案、媒體移動直播、應急指揮調度(針對保險、城管、交警、消防、公安等職能管理部門的單兵應急執法系統)、可視化購物、遠程專家診斷、可視化巡檢、(如電信/電力線路/鐵路沿線/水利設施/油田/消防設施巡檢)、移動視頻安防監控,企業內訓、金融在線直播室、微信直播、監控對接、活動現場直播、游戲直播、秀場直播等場景。

daniuPlayer 模塊概述

本模塊封裝了大牛直播SDK,支持rtsp、rtmp播放(請開發者自行控制播放格式),支持秒開模式,支持快速切換視頻播放地址等。

License文件打包模塊包需注意事項請參考License打包模塊包注意事項

模塊接口

addPlayerListener

播放器監聽

addPlayerListener(callback(ret))

callback(ret)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    code: 1001,   //狀態碼(含義見下表:)
    param1 : '',//返回參數1
    param2 : '',//返回參數2
    param3 : '',//返回參數3
    param4 : '',//返回參數4
}

示例代碼

var demo = api.require('daniuPlayer');
demo.addPlayerListener(function(ret){
    api.toast({
        msg : " addPlayerListener " + JSON.stringify(ret)
    });
});

code狀態碼

狀態碼 描述信息
1001 開始播放
1002 連接中
1003 連接失敗
1004 已連接
1005 斷開連接
1006 停止播放
1007 視頻解碼分辨率信息
1008 收不到RTMP數據
1009 快速切換url
1010 快照成功/失敗
1011 開始buffer
1012 buffer百分比
1013 停止buffer
1014 download速度

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

openPlayer

打開播放器

openPlayer({params}, callback(ret, err))

params

rect:

  • 類型:JSON 對象
  • 描述:(必填項)模塊的位置及尺寸
  • 備注:iOS,Android 必須傳此參數。
  • 內部字段:
{
    x: 0,   //(必填項)數字類型;模塊左上角的 x 坐標(相對于所屬的 Window 或 Frame);默認值:0
    y: 0,   //(必填項)數字類型;模塊左上角的 y 坐標(相對于所屬的 Window 或 Frame);默認值:0
    w: api.frameWidth, //(必填項)數字類型;模塊的寬度;默認值:所屬的 Window 或 Frame 的寬度
    h: api.frameHeight  //(必填項)數字類型;模塊的高度;默認值:所屬的 Window 或 Frame 的高度
}

fixedOn:

  • 類型:字符串
  • 描述:(可選項)模塊所屬 Frame 的名字,若不傳則模塊歸屬于當前 Window

fixed:

  • 類型:布爾
  • 描述:((可選項)模塊是否隨所屬 Window 或 Frame 滾動
  • 默認值:true(不隨之滾動)

playBuffer:

  • 類型:數字型
  • 描述:(可選項)設置播放端緩存數據 buffer,如不需 buffer, 設置為 0 。
  • 默認值:200

isLowLatency:

  • 類型:布爾
  • 描述:(可選項)針對類似于直播娃娃機等期待超低 延遲的使用場景,超低延遲播放模式下,延遲可達到 200~400ms;
  • 默認值:false(不開啟)

isFastStartup:

  • 類型:布爾
  • 描述:(可選項)設置 快速啟動后,如果 CDN 緩存 GOP,daniulive player 可快速出幀;
  • 默認值:true(秒開)

isMute:

  • 類型:布爾
  • 描述:(可選項)設置播放過程中,實時靜音/取消靜音;
  • 默認值:false(取消靜音)

isHardwareDecoder:

  • 類型:布爾
  • 描述:(可選項)設置是否用硬解碼播放,硬解碼/軟解碼;
  • 默認值:false(軟解)

url:

  • 類型:字符串
  • 描述:(必填項)支持 rtmp、rtsp地址類型(類型控制請開發者自行判斷,模塊不做地址限制判斷邏輯);

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.openPlayer({
    rect : {
        x : 5,
        y : 0,
        w : api.frameWidth-5,
        h : 200 
    },
    playBuffer : 200, // 默認200ms
    isLowLatency : false, //超低延時,默認fasle:不開啟 true:開啟
    isFastStartup : true, // 是否秒開, 默認true:秒開 false:取消秒開
    isMute : false, //是否靜音 默認false:取消靜音 true:靜音
    isHardwareDecoder : false, //是否硬解 默認false:軟解 true:硬解
    url : _deviceid , 
    fixedOn : api.frameName,
    fixed : true
}, function(ret, err) {
    api.toast({ msg : " openPlayer " + JSON.stringify(ret) + " " + JSON.stringify(err) });
});

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

hidePlayer

隱藏播放器

hidePlayer(callback(ret,err))

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.hidePlayer();

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

showPlayer

顯示播放器

hidePlayer(callback(ret,err))

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.showPlayer();

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

closePlayer

關閉播放器

closePlayer(callback(ret,err))

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.closePlayer();

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

switchUrl

切換播放器視頻地址 switchUrl({params}, callback(ret, err))

params

url:

  • 類型:字符串
  • 描述:(必填項)支持 rtmp、rtsp地址類型(類型控制請開發者自行判斷,模塊不做地址限制判斷邏輯);

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.switchUrl({
    url : "http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"
}, function(ret, err) {
    api.toast({
        msg : " switchUrl " + JSON.stringify(ret) + " " + JSON.stringify(err)
    });
});

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

switchMute

設置是否靜音 switchMute({params}, callback(ret, err))

params

isMute:

  • 類型:布爾
  • 描述:(可選項)設置播放過程中,實時靜音/取消靜音;
  • 默認值:false(取消靜音)

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.switchMute({
    isMute : true
}, function(ret, err) {
    api.toast({
        msg : " switchMute " + JSON.stringify(ret) + " " + JSON.stringify(err)
    });
});

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

saveImage

保存快照 saveImage(callback(ret, err))

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.saveImage(function(ret, err) {
    api.toast({
        msg : " saveImage " + JSON.stringify(ret) + " " + JSON.stringify(err)
    });
});

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

startRecorder

開始錄像 startRecorder({params}, callback(ret, err))

params

fileMaxSize:

  • 類型:數字型
  • 描述:(可選項)設置每個錄像文件最大 size, 以兆(M)為單位,范圍(5M~500M);
  • 默認值:200

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.startRecorder();

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

stopRecorder

停止錄像 stopRecorder(callback(ret, err))

callback(ret, err)

ret:

  • 類型:JSON 對象
  • 內部字段:
{
    status: true,   //布爾型;true||false
}

err:

  • 類型:JSON 對象
  • 內部字段:
{
    msg : ''
}

示例代碼

var demo = api.require('daniuPlayer');
demo.stopRecorder();

可用性

iOS系統,Android系統

可提供的1.0.0及更高版本

污污直播app-污污直播破解版永久免费版