全景視訊(WEB)
# FastWeb之全景視訊
# 1. 說明
本示例使用egjs-view360全景顯示庫,通過匯入全景的平面視訊實現視訊的全景展示功能。關於此元件的建立過程可參考3D球形實景-全景視訊。
通過本範例學習,可以掌握全景視訊的引入方式,從而實現引用全景視訊的相關功能。
# 2. 設計明細
開啟FastWeb設計器,分別加入下插圖之控制元件。或者點選左上角的[匯入]
選擇模板檔案來打開對應模板。
1:TUgImage元件,控制元件名稱為UgImage01
。
2:TUgURLFrame元件,控制元件名稱為UgURLFrame01
。
3:TUgLabel元件,控制元件名稱為UgLabel01
。
4:TUgLabel元件,控制元件名稱為UgLabel02
。
TUgTimer元件,控制元件名稱為UgTimer01
。
UgWebRunFrame屬性設定
Height
:設定頁面高度=600
。Width
:設定頁面寬度=800
。
1:UgImage01屬性設定
Align
:設定對齊的方式,設定為alClient
。Picture
:設定顯示的圖片,點選打開編輯器,選擇圖片進行顯示。
2:UgURLFrame01屬性設定
Anchors
:設定控制元件顯示的錨點,分別為akLeft
、akRight
、akBottom
與akTop
設定錨點為True
。
雙擊控制元件,打開管理器,選擇其中的
全景視訊
。3:UgLabel01屬性設定
Anchors
:設定控制元件顯示的錨點,分別為akLeft
、akBottom
設定錨點。Caption
:設定文字顯示的內容,設定為異域風情
。Font
:設定字型資訊,雙擊√
打開字型設定視窗,進行字型的相關設定。
4:UgLabel02屬性設定
Anchors
:設定控制元件顯示的錨點,分別為akLeft
、akBottom
設定錨點。Caption
:設定文字顯示的內容,設定為帶你用全景視角觀看遺蹟內的風景...
。、
UgTimer01屬性設定
Interval
:設定定時器的時間間隔,單位為ms,設定為100
。
# 3. 程式設計
點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式的程式無需引用單元。
# 3.1. 程式初始設定
該程式包含一些初始用設定。
//JScript
// mp4格式的視訊地址
var param_mp4 = "library/js/egjs-view360/examples/img/seven.mp4";
//webm格式的視訊地址
var param_webm = "library/js/egjs-view360/examples/img/seven.webm";
//型別
var param_type = "equirectangular";
//是否啟用縮放
var param_useZoom = "true";
//橫向視角範圍
var param_yawRange = "[-180,180]";
//俯仰視角範圍
var param_pitchRange = "[-60,90]";
//縮放視角範圍
var param_fovRange = "[30,70]";
function UgWebRunFrameOnAfterRunScript(sender)
{
UGMM.LC(Self);
}
{
UgURLFrame01.Init("9C4DCB40-5044-41BC-8D38-ACBFEFA0E1E5");
UgTimer01.OnTimer = &UgTimer01OnTimer;
Self.OnAfterRunScript = &UgWebRunFrameOnAfterRunScript;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//PasScript
Var
// mp4格式的視訊地址
param_mp4: string = 'library/js/egjs-view360/examples/img/seven.mp4';
//webm格式的視訊地址
param_webm: string = 'library/js/egjs-view360/examples/img/seven.webm';
//型別
param_type: string = 'equirectangular';
//是否啟用縮放
param_useZoom: string = 'true';
//橫向視角範圍
param_yawRange: string = '[-180,180]';
//俯仰視角範圍
param_pitchRange: string = '[-60,90]';
//縮放視角範圍
param_fovRange: string = '[30,70]';
procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
begin
UGMM.LC(Self);
end;
Begin
UgURLFrame01.Init('9C4DCB40-5044-41BC-8D38-ACBFEFA0E1E5');
End.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Make sure to add code blocks to your code group
# 3.2. 事件設定
- UgTimer01-OnTimer事件
定時器的觸發事件,用於動態載入配置參數項的內容。
//JScript
function UgTimer01OnTimer(sender)
{
UgURLFrame01.JSONToData("{" +
"\"param_mp4\": \"" + param_mp4 + "\"," +
"\"param_webm\": \"" + param_webm + "\"," +
"\"param_type\": \"" + param_type + "\"," +
"\"param_useZoom\": \"" + param_useZoom + "\"," +
"\"param_yawRange\": \"" + param_yawRange + "\"," +
"\"param_pitchRange\": \"" + param_pitchRange + "\"," +
"\"param_fovRange\": \"" + param_fovRange + "\"" +
"}");
UgTimer01.Enabled = False;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
//PasScript
procedure UgTimer01OnTimer(sender: tobject);
begin
UgURLFrame01.JSONToData('{' +
'"param_mp4": "' + param_mp4 + '",' +
'"param_webm": "' + param_webm + '",' +
'"param_type": "' + param_type + '",' +
'"param_useZoom": "' + param_useZoom + '",' +
'"param_yawRange": "' + param_yawRange + '",' +
'"param_pitchRange": "' + param_pitchRange + '",' +
'"param_fovRange": "' + param_fovRange + '"' +
'}');
UgTimer01.Enabled := False;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
// Make sure to add code blocks to your code group
# 4. 運行結果
使用滑鼠在FastWeb功能表,點選[儲存至資料庫]
按鈕,將其儲存至資料庫,點選[除錯運行]
確認能夠正常打開。
點選開啟視訊,視訊可進行自由旋轉縮放等相關操作。