摘要:示例代碼獲取云手機媒體流獲取云手機媒體流建立信令服務器連接并且連接成功后,即可獲取遠程媒體流。示例代碼添加視頻流到標簽說明目前云手機視頻流比例分為或兩種。
歡迎使用WEB UPhone SDK ,產品能夠為開發者提供更便捷接入、高可靠的云手機服務,讓開發者快速搭建實時項目。開發者可在WEB UPhone SDK提供的功能基礎上開發新功能,同時還可結合官方提供的配套demo進一步了解內置功能,應用場景廣闊,開發簡單易懂。
在開始集成 WEB UPhone SDK前,請確保開發環境滿足一下要求:
? 準備一臺可以連接到互聯網的Windows或macOS計算機。
? 使用最新版本的Chrome瀏覽器。
導入SDK1.解壓SDK壓縮包,將sdk文件夾放入項目中。*開發者可借鑒官方提供demo。
用戶創建媒體界面,并在媒體界面導入"controller.js"、"proto.js"。說明:在創建引擎之前,開發者需定義一個id為remote-video的video標簽,SDK會在這個元素內加載音視頻。video標簽設置autoplay、playsinline、webkit-playsinline屬性。
示例代碼
<div>
<video id="remote-video" autoplay="autoplay" playsinline webkit-playsinline>video>
div>
<script src="./sdk/proto.js">script>
<script type="module">
import controller from "../sdk/controller.js "; //文件路徑不固定
script>
初始化創建引擎實例,創建controller引擎實例,將參數傳入。var Controller = new controller(loadingParams)
示例代碼
<div>
<video id="remote-video" autoplay="autoplay" playsinline webkit-playsinline>video>
div>
<script src="./sdk/proto.js">script>
<script type="module">
import controller from "../sdk/controller.js "; //文件路徑不固定
//----第一步初始化SDK----
var loadingParams = {
Id: "替換為可用ID",
mediaConstraints: {
audio: true,
video: true,
},
gamename: "拉起游戲名字",
jobid: "唯一即可", //
token:"如果調用api接口SetUPhoneToken進行了設置,此處為必填,否則為可選"
}
var Controller = new controller(loadingParams)
script>
參數說明
Id:可連接的云手機ID。必填
mediaConstraints:連接約束條件。必填
audio:true/false,為true則獲取音頻流。
video:true/false,為true則獲取視頻流
gamename:**要拉起的游戲名稱
jobid:**唯一即可
token:如需調用api接口SetUPhoneToken進行了設置,*此處為必填。
具體例子請查看官方demo
示例代碼
Controller.onstatus(statustype,callback)
參數類型必填意義callback回調函數(states)=>{}states狀態回調函數返回值statustypestring是可選值devicestatus:獲取設備狀態networkstatus:獲取網絡連接狀態gamestatus:獲取一鍵啟動游戲狀態
Controller.onstatus(statustype,callback)
//設備連接狀態回調
Controller.onstatus("devicestatus", (states) => {
if (states == 1001) {
console.log("連接設備失敗");
}
if (states == 1003) {
console.log("創建設備控制失敗");
}
if (states == 1008) {
console.log("服務器應答失敗");
}
if (states == 1026) {
console.log("設備已被占用");
}
if (states == 73002) {
console.log("設備不存在");
}
});
//網絡連接狀態回調
Controller.onstatus("networkstatus", (states) => {
if (states == "connected") {
console.log("網絡連接成功");
}
if (states == "disconnected") {
console.log("網絡連接失敗");
}
});
//啟動游戲狀態回調
Controller.onstatus("gamestatus", (states) => {
if (states == "success") {
console.log("啟動成功");
}
if (states == "fail") {
console.log("啟動失敗");
}
});
//切換分辨率狀態回調
Controller.onstatus("resolution", (states) => {
if (states == "success") {
console.log("切換成功");
} else {
console.log("切換失敗");
}
});
連接云手機開發者在媒體界面創建實例之后,即可啟動云手機建立連接。
示例代碼
Controller.startConnection();
獲取云手機媒體流建立信令服務器連接并且p2p連接成功后,即可獲取遠程媒體流。
示例代碼
var stream = Controller.getRemoteStream();
var phoneVideo = document.getElementById("remote-video");
phoneVideo.srcObject = stream; // 添加視頻流到video標簽
說明 : 目前云手機視頻流比例分為1:2或9:16兩種。開發者可在video標簽方法onloadedmetadata中 獲取到視頻流實際寬高,根據視頻比例設置需要展示的video大小即可。
如:獲取到視頻流寬為720,高為1440。video標簽可設置寬高保證1:2比例即可。
斷開云手機連接斷開連接調用以下接口
示例代碼
Controller.closeConnection();
重新連接重新建立云手機連接
示例代碼
Controller.reStart();
切換分辨率切換分辨率時傳入規定好的分辨率id,即可切換對應的分辨率
說明:手機端切換分辨率傳遞id不同,可參照下方參數說明
示例代碼
Controller.changeResolution(id);
參數類型必填意義idNumber是1:2視頻流比例:1標清2高清3超清9:16視頻流比例:0標清3高清6超清
獲取最后一次操作的時間戳示例代碼
Controller.getLastTimeStamp(); //單位毫秒
獲取延遲顯示獲取網絡延遲時間
示例代碼
Controller.getNetDelay(callback)
Controller.getNetDelay((roundtime) => {console.log(roundtime) //單位毫秒;
參數類型必填意義callback回調函數(roundtime)=>{}延遲回調返回延遲信息單位毫秒
返回云手機桌面返回到云手機桌面
示例代碼
Controller.backHome();
一鍵拉起游戲調用該方法一鍵啟動云手機內游戲
示例代碼
let message = {
gamename:"xxx.xxx.xxx", //游戲包名
jobid: "", //后臺區分任務標識,唯一即可
};
Controller.startGame(message);
清理云手機后臺進程清理云手機后臺應用(前端顯示的應用不受影響)
示例代碼
Controller.clearUp()
下載官方demo壓縮包,解壓文件將文件夾導入到開發工具。
可在本地服務環境下運行,瀏覽器調試。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126658.html
摘要:下載下載下載包下載下載概述概述概述歡迎使用,產品能夠為開發者提供更便捷接入高可靠的云手機服務,讓開發者快速搭建實時項目。示例代碼獲取云手機媒體流獲取云手機媒體流建立信令服務器連接并且連接成功后,即可獲取遠程媒體流。 SDK下載 SDKZIP包GitHubH5SDK下載GitHub下載 概述歡迎使用H5 UPhone SDK ,產品能夠為開發者提供更便捷接入、高可靠的云手機服務,讓開發者快速搭...
摘要:概覽概覽概覽購買體驗購買體驗即刻入手產品介紹產品介紹以下是參考的目錄模版,旨在建議產品文檔應該包含的內容模塊。 概覽購買體驗即刻入手產品介紹 什么是云手機功能與優勢應用場景產品計費計費模式資源刪除快速上手注冊賬號快速測試創建云手機群控管理文件上傳獨立公網IP使用AOSP功能常見問題功能相關體驗相關二次開發SDK集成Android SDKSDK下載工程配置快速入門接口說明iOS SDKSD...
摘要:概覽概覽概覽購買體驗購買體驗即刻入手產品介紹產品介紹以下是參考的目錄模版,旨在建議產品文檔應該包含的內容模塊。 概覽購買體驗即刻入手產品介紹 什么是云手機功能與優勢應用場景產品計費計費模式資源刪除快速上手注冊賬號快速測試創建云手機群控管理文件上傳獨立公網IP使用AOSP功能常見問題功能相關體驗相關二次開發SDK集成Android SDKSDK下載工程配置快速入門接口說明iOS SDKSD...
摘要:概覽概覽概覽購買體驗購買體驗即刻入手產品介紹產品介紹以下是參考的目錄模版,旨在建議產品文檔應該包含的內容模塊。 概覽購買體驗即刻入手產品介紹 什么是云手機功能與優勢應用場景產品計費計費模式資源刪除快速上手注冊賬號快速測試創建云手機群控管理文件上傳獨立公網IP使用AOSP功能常見問題功能相關體驗相關二次開發SDK集成Android SDKSDK下載工程配置快速入門接口說明iOS SDKSD...
摘要:重要接口接口含義建議調用時機初始化連接云手機需要展示云手機界面時說明使用前請對工程進行配置,否則不生效。該僅支持真機運行。每次進入云手機會從遠端獲取分辨率,可以根據自己的需求修改相應的分辨率可以參照設置分辨率設置分辨率。 SDK下載iOS SDK 用于 iOS 終端接入,支持端游和手游。SDK 提供了豐富的接口,滿足大部分接入需求。接入方法請參見 工程配置,并可通過接口說明頁面,獲取更多功能...
摘要:重要接口接口含義建議調用時機初始化連接云手機需要展示云手機界面時說明使用前請對工程進行配置,否則不生效。該僅支持真機運行。每次進入云手機會從遠端獲取分辨率,可以根據自己的需求修改相應的分辨率可以參照設置分辨率設置分辨率。 SDK下載iOS SDK 用于 iOS 終端接入,支持端游和手游。SDK 提供了豐富的接口,滿足大部分接入需求。接入方法請參見 工程配置,并可通過接口說明頁面,獲取更多功能...
閱讀 291·2024-11-07 18:25
閱讀 130379·2024-02-01 10:43
閱讀 869·2024-01-31 14:58
閱讀 828·2024-01-31 14:54
閱讀 82773·2024-01-29 17:11
閱讀 3061·2024-01-25 14:55
閱讀 1986·2023-06-02 13:36
閱讀 3035·2023-05-23 10:26