@xrift/world-components 0.31.3 → 0.31.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ScreenShareDisplay/hooks.d.ts +2 -2
- package/dist/components/ScreenShareDisplay/hooks.d.ts.map +1 -1
- package/dist/components/ScreenShareDisplay/hooks.js +42 -47
- package/dist/components/ScreenShareDisplay/hooks.js.map +1 -1
- package/dist/components/ScreenShareDisplay/index.d.ts +1 -1
- package/dist/components/ScreenShareDisplay/index.d.ts.map +1 -1
- package/dist/components/ScreenShareDisplay/index.js +3 -3
- package/dist/components/ScreenShareDisplay/index.js.map +1 -1
- package/dist/components/ScreenShareDisplay/types.d.ts +2 -0
- package/dist/components/ScreenShareDisplay/types.d.ts.map +1 -1
- package/dist/components/VideoPlayer/components/ControlPanel.d.ts +3 -1
- package/dist/components/VideoPlayer/components/ControlPanel.d.ts.map +1 -1
- package/dist/components/VideoPlayer/components/ControlPanel.js +40 -14
- package/dist/components/VideoPlayer/components/ControlPanel.js.map +1 -1
- package/dist/components/VideoPlayer/index.d.ts.map +1 -1
- package/dist/components/VideoPlayer/index.js +5 -1
- package/dist/components/VideoPlayer/index.js.map +1 -1
- package/dist/contexts/XRiftContext.js +7 -6
- package/dist/contexts/XRiftContext.js.map +1 -1
- package/dist/hooks/useVideoElement.d.ts.map +1 -1
- package/dist/hooks/useVideoElement.js +25 -10
- package/dist/hooks/useVideoElement.js.map +1 -1
- package/package.json +7 -1
|
@@ -3,11 +3,11 @@ import * as THREE from 'three';
|
|
|
3
3
|
* VideoElement から VideoTexture を作成し管理するフック
|
|
4
4
|
* @param videoElement 映像のvideo要素
|
|
5
5
|
* @param screenSize スクリーンのサイズ [幅, 高さ]
|
|
6
|
+
* @param targetFps テクスチャ更新のフレームレート上限(省略時は制限なし)
|
|
6
7
|
*/
|
|
7
|
-
export declare const useVideoTexture: (videoElement: HTMLVideoElement | null, screenSize: [number, number]) => {
|
|
8
|
+
export declare const useVideoTexture: (videoElement: HTMLVideoElement | null, screenSize: [number, number], targetFps?: number) => {
|
|
8
9
|
texture: THREE.VideoTexture<HTMLVideoElement> | null;
|
|
9
10
|
hasVideo: boolean;
|
|
10
|
-
materialRef: import("react").RefObject<THREE.MeshBasicMaterial>;
|
|
11
11
|
videoSize: [number, number];
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,cAAc,gBAAgB,GAAG,IAAI,EACrC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,YAAY,MAAM;;;;CAuFnB,CAAA"}
|
|
@@ -1,48 +1,33 @@
|
|
|
1
1
|
import { useFrame } from '@react-three/fiber';
|
|
2
|
-
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
|
-
|
|
5
|
-
* object-fit: contain 用の映像サイズを計算
|
|
6
|
-
*/
|
|
7
|
-
const calculateContainSize = (videoWidth, videoHeight, screenWidth, screenHeight) => {
|
|
8
|
-
const videoAspect = videoWidth / videoHeight;
|
|
9
|
-
const screenAspect = screenWidth / screenHeight;
|
|
10
|
-
if (videoAspect > screenAspect) {
|
|
11
|
-
// 映像が横長 → 幅に合わせて高さを調整
|
|
12
|
-
return [screenWidth, screenWidth / videoAspect];
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
// 映像が縦長 → 高さに合わせて幅を調整
|
|
16
|
-
return [screenHeight * videoAspect, screenHeight];
|
|
17
|
-
}
|
|
18
|
-
};
|
|
4
|
+
import { calculateContainSize } from './utils';
|
|
19
5
|
/**
|
|
20
6
|
* VideoElement から VideoTexture を作成し管理するフック
|
|
21
7
|
* @param videoElement 映像のvideo要素
|
|
22
8
|
* @param screenSize スクリーンのサイズ [幅, 高さ]
|
|
9
|
+
* @param targetFps テクスチャ更新のフレームレート上限(省略時は制限なし)
|
|
23
10
|
*/
|
|
24
|
-
export const useVideoTexture = (videoElement, screenSize) => {
|
|
25
|
-
const materialRef = useRef(null);
|
|
11
|
+
export const useVideoTexture = (videoElement, screenSize, targetFps) => {
|
|
26
12
|
const [texture, setTexture] = useState(null);
|
|
27
|
-
const [
|
|
13
|
+
const [videoResolution, setVideoResolution] = useState(null);
|
|
14
|
+
const lastUpdateRef = useRef(0);
|
|
28
15
|
const hasVideo = texture !== null;
|
|
29
|
-
// VideoTexture
|
|
16
|
+
// VideoTextureの作成(videoElement のみに依存)
|
|
30
17
|
useEffect(() => {
|
|
31
18
|
if (!videoElement) {
|
|
32
19
|
setTexture(null);
|
|
33
|
-
|
|
20
|
+
setVideoResolution(null);
|
|
34
21
|
return;
|
|
35
22
|
}
|
|
36
23
|
const videoTexture = new THREE.VideoTexture(videoElement);
|
|
37
24
|
videoTexture.minFilter = THREE.LinearFilter;
|
|
38
25
|
videoTexture.magFilter = THREE.LinearFilter;
|
|
39
26
|
videoTexture.colorSpace = THREE.SRGBColorSpace;
|
|
40
|
-
videoTexture.needsUpdate = true;
|
|
41
27
|
setTexture(videoTexture);
|
|
42
|
-
//
|
|
28
|
+
// 映像のメタデータがロードされたら解像度を記録
|
|
43
29
|
const handleLoadedMetadata = () => {
|
|
44
|
-
|
|
45
|
-
setVideoSize(size);
|
|
30
|
+
setVideoResolution([videoElement.videoWidth, videoElement.videoHeight]);
|
|
46
31
|
};
|
|
47
32
|
if (videoElement.videoWidth > 0) {
|
|
48
33
|
handleLoadedMetadata();
|
|
@@ -54,35 +39,45 @@ export const useVideoTexture = (videoElement, screenSize) => {
|
|
|
54
39
|
videoElement.removeEventListener('loadedmetadata', handleLoadedMetadata);
|
|
55
40
|
videoTexture.dispose();
|
|
56
41
|
};
|
|
57
|
-
}, [videoElement
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return;
|
|
62
|
-
materialRef.current.map = texture;
|
|
63
|
-
materialRef.current.needsUpdate = true;
|
|
64
|
-
}, [texture]);
|
|
65
|
-
// テクスチャ更新(毎フレーム)
|
|
42
|
+
}, [videoElement]);
|
|
43
|
+
// targetFps 指定時: VideoTexture の自動更新を間引く
|
|
44
|
+
// VideoTexture は rVFC で毎ビデオフレーム source.needsUpdate = true を設定する。
|
|
45
|
+
// useFrame は gl.render() の直前に実行されるため、間隔内の更新を抑制できる。
|
|
66
46
|
useFrame(() => {
|
|
67
|
-
if (!texture)
|
|
47
|
+
if (!texture || !targetFps)
|
|
68
48
|
return;
|
|
69
|
-
|
|
49
|
+
const now = performance.now();
|
|
50
|
+
if (now - lastUpdateRef.current < 1000 / targetFps) {
|
|
51
|
+
texture.source.needsUpdate = false;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
lastUpdateRef.current = now;
|
|
55
|
+
}
|
|
70
56
|
});
|
|
71
|
-
//
|
|
57
|
+
// 映像サイズの計算(screenSize や videoResolution の変更時のみ再計算)
|
|
58
|
+
const videoSize = useMemo(() => {
|
|
59
|
+
if (!videoResolution)
|
|
60
|
+
return screenSize;
|
|
61
|
+
return calculateContainSize(videoResolution[0], videoResolution[1], screenSize[0], screenSize[1]);
|
|
62
|
+
}, [videoResolution, screenSize]);
|
|
63
|
+
// video要素が一時停止したら自動で再生を試みる
|
|
72
64
|
useEffect(() => {
|
|
73
65
|
if (!videoElement)
|
|
74
66
|
return;
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
67
|
+
const handlePause = () => {
|
|
68
|
+
videoElement.play().catch(() => {
|
|
69
|
+
// 再生失敗は無視
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
// 初回チェック
|
|
73
|
+
if (videoElement.paused) {
|
|
74
|
+
handlePause();
|
|
75
|
+
}
|
|
76
|
+
videoElement.addEventListener('pause', handlePause);
|
|
77
|
+
return () => {
|
|
78
|
+
videoElement.removeEventListener('pause', handlePause);
|
|
81
79
|
};
|
|
82
|
-
checkAndPlay();
|
|
83
|
-
const interval = setInterval(checkAndPlay, 1000);
|
|
84
|
-
return () => clearInterval(interval);
|
|
85
80
|
}, [videoElement]);
|
|
86
|
-
return { texture, hasVideo,
|
|
81
|
+
return { texture, hasVideo, videoSize };
|
|
87
82
|
};
|
|
88
83
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ export type { Props as ScreenShareDisplayProps } from './types';
|
|
|
4
4
|
* 映像を3D空間内にスクリーンとして表示するコンポーネント
|
|
5
5
|
* 画面共有やカメラ映像などの表示に使用可能
|
|
6
6
|
*/
|
|
7
|
-
export declare const ScreenShareDisplay: import("react").MemoExoticComponent<({ id, position, rotation, width, }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
7
|
+
export declare const ScreenShareDisplay: import("react").MemoExoticComponent<({ id, position, rotation, width, targetFps, }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,YAAY,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAO/D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,YAAY,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAO/D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,sFAM5B,KAAK,6CAwDN,CAAA"}
|
|
@@ -13,11 +13,11 @@ const DEFAULT_ROTATION = [0, 0, 0];
|
|
|
13
13
|
* 映像を3D空間内にスクリーンとして表示するコンポーネント
|
|
14
14
|
* 画面共有やカメラ映像などの表示に使用可能
|
|
15
15
|
*/
|
|
16
|
-
export const ScreenShareDisplay = memo(({ id, position = DEFAULT_POSITION, rotation = DEFAULT_ROTATION, width = DEFAULT_WIDTH, }) => {
|
|
16
|
+
export const ScreenShareDisplay = memo(({ id, position = DEFAULT_POSITION, rotation = DEFAULT_ROTATION, width = DEFAULT_WIDTH, targetFps, }) => {
|
|
17
17
|
const { videoElement, isSharing, startScreenShare, stopScreenShare, isRoomConnected } = useScreenShareContext();
|
|
18
18
|
const interactionText = isSharing ? '画面共有を停止' : '画面共有を開始';
|
|
19
19
|
const screenSize = useMemo(() => [width, width * (9 / 16)], [width]);
|
|
20
|
-
const { texture, hasVideo,
|
|
20
|
+
const { texture, hasVideo, videoSize } = useVideoTexture(videoElement, screenSize, targetFps);
|
|
21
21
|
const handleInteract = useCallback(() => {
|
|
22
22
|
if (isSharing) {
|
|
23
23
|
stopScreenShare();
|
|
@@ -26,6 +26,6 @@ export const ScreenShareDisplay = memo(({ id, position = DEFAULT_POSITION, rotat
|
|
|
26
26
|
startScreenShare();
|
|
27
27
|
}
|
|
28
28
|
}, [isSharing, startScreenShare, stopScreenShare]);
|
|
29
|
-
return (_jsxs("group", { position: position, rotation: rotation, children: [_jsxs(Interactable, { id: id, onInteract: handleInteract, interactionText: interactionText, children: [_jsxs("mesh", { visible: !hasVideo, children: [_jsx("planeGeometry", { args: [screenSize[0], screenSize[1]] }), _jsx("meshBasicMaterial", { side: THREE.FrontSide, toneMapped: false, color: "#1a1a2a" })] }), _jsxs("mesh", { visible: hasVideo, children: [_jsx("planeGeometry", { args: [videoSize[0], videoSize[1]] }), _jsx("meshBasicMaterial", {
|
|
29
|
+
return (_jsxs("group", { position: position, rotation: rotation, children: [_jsxs(Interactable, { id: id, onInteract: handleInteract, interactionText: interactionText, children: [_jsxs("mesh", { visible: !hasVideo, children: [_jsx("planeGeometry", { args: [screenSize[0], screenSize[1]] }), _jsx("meshBasicMaterial", { side: THREE.FrontSide, toneMapped: false, color: "#1a1a2a" })] }), _jsxs("mesh", { visible: hasVideo, children: [_jsx("planeGeometry", { args: [videoSize[0], videoSize[1]] }), _jsx("meshBasicMaterial", { map: texture, side: THREE.FrontSide, toneMapped: false })] })] }), !hasVideo && (_jsx(Text, { position: [0, 0, 0.01], fontSize: width * 0.05, color: "#666666", anchorX: "center", anchorY: "middle", textAlign: "center", children: isRoomConnected ? 'クリックして画面共有' : '他のユーザーがいると\n画面共有できます' }))] }));
|
|
30
30
|
});
|
|
31
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKzC,SAAS;AACT,MAAM,aAAa,GAAG,CAAC,CAAA;AACvB,MAAM,gBAAgB,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5D,MAAM,gBAAgB,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,EACtC,EAAE,EACF,QAAQ,GAAG,gBAAgB,EAC3B,QAAQ,GAAG,gBAAgB,EAC3B,KAAK,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKzC,SAAS;AACT,MAAM,aAAa,GAAG,CAAC,CAAA;AACvB,MAAM,gBAAgB,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5D,MAAM,gBAAgB,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,EACtC,EAAE,EACF,QAAQ,GAAG,gBAAgB,EAC3B,QAAQ,GAAG,gBAAgB,EAC3B,KAAK,GAAG,aAAa,EACrB,SAAS,GACH,EAAE,EAAE;IACV,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAC/G,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACzD,MAAM,UAAU,GAAG,OAAO,CAAmB,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACtF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IAE7F,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,eAAe,EAAE,CAAA;QACnB,CAAC;aAAM,CAAC;YACN,gBAAgB,EAAE,CAAA;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAA;IAElD,OAAO,CACL,iBAAO,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,aAC3C,MAAC,YAAY,IACX,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,cAAc,EAC1B,eAAe,EAAE,eAAe,aAGhC,gBAAM,OAAO,EAAE,CAAC,QAAQ,aACtB,wBAAe,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAI,EACvD,4BACE,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,UAAU,EAAE,KAAK,EACjB,KAAK,EAAC,SAAS,GACf,IACG,EAEP,gBAAM,OAAO,EAAE,QAAQ,aACrB,wBAAe,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAI,EACrD,4BACE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,UAAU,EAAE,KAAK,GACjB,IACG,IACM,EAGd,CAAC,QAAQ,IAAI,CACZ,KAAC,IAAI,IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACtB,QAAQ,EAAE,KAAK,GAAG,IAAI,EACtB,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,QAAQ,EAChB,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAC,QAAQ,YAEjB,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,GACnD,CACR,IACK,CACT,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenShareDisplay/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -7,12 +7,14 @@ interface Props {
|
|
|
7
7
|
duration: number;
|
|
8
8
|
volume: number;
|
|
9
9
|
url: string;
|
|
10
|
+
visible: boolean;
|
|
10
11
|
onPlayPause: () => void;
|
|
11
12
|
onStop: () => void;
|
|
12
13
|
onSeek: (time: number) => void;
|
|
13
14
|
onVolumeChange: (volume: number) => void;
|
|
14
15
|
onUrlChange: (url: string) => void;
|
|
16
|
+
onToggleVisible: () => void;
|
|
15
17
|
}
|
|
16
|
-
export declare const ControlPanel: import("react").MemoExoticComponent<({ id, width, screenHeight, playing, progress, duration, volume, url, onPlayPause, onStop, onSeek, onVolumeChange, onUrlChange, }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
18
|
+
export declare const ControlPanel: import("react").MemoExoticComponent<({ id, width, screenHeight, playing, progress, duration, volume, url, visible, onPlayPause, onStop, onSeek, onVolumeChange, onUrlChange, onToggleVisible, }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
17
19
|
export {};
|
|
18
20
|
//# sourceMappingURL=ControlPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/ControlPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ControlPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/ControlPanel.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AA8CD,eAAO,MAAM,YAAY,mMAiBpB,KAAK,6CAuKT,CAAA"}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useCallback } from 'react';
|
|
3
|
-
import { Text } from '@react-three/
|
|
4
|
-
import { IconButton } from '../../commons/IconButton';
|
|
5
|
-
import { VolumeControl } from '../../commons/VolumeControl';
|
|
6
|
-
import { ProgressBar } from './ProgressBar';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useCallback, useMemo } from 'react';
|
|
3
|
+
import { Container, Text } from '@react-three/uikit';
|
|
7
4
|
import { formatTime } from '../utils';
|
|
8
5
|
import { useTextInputContext } from '../../../contexts/TextInputContext';
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
const PIXEL_SIZE = 0.01;
|
|
7
|
+
const PROGRESS_SEGMENTS = 20;
|
|
8
|
+
const VOLUME_SEGMENTS = 11;
|
|
9
|
+
/** パネル高さの割合(screenHeight の 10%) */
|
|
10
|
+
const PANEL_HEIGHT_RATIO = 0.1;
|
|
11
|
+
/** 一時停止アイコン: 2本の縦棒 */
|
|
12
|
+
const PauseIcon = memo(({ size }) => (_jsxs(Container, { width: size, height: size, flexDirection: "row", justifyContent: "center", alignItems: "center", gap: size * 0.15, children: [_jsx(Container, { width: size * 0.2, height: size * 0.7, backgroundColor: 0xffffff, borderRadius: 1 }), _jsx(Container, { width: size * 0.2, height: size * 0.7, backgroundColor: 0xffffff, borderRadius: 1 })] })));
|
|
13
|
+
PauseIcon.displayName = 'PauseIcon';
|
|
14
|
+
/** 再生アイコン: 右向き三角(3つの棒で近似) */
|
|
15
|
+
const PlayIcon = memo(({ size }) => (_jsxs(Container, { width: size, height: size, flexDirection: "row", justifyContent: "center", alignItems: "center", gap: 0, children: [_jsx(Container, { width: size * 0.15, height: size * 0.7, backgroundColor: 0xffffff, borderRadius: 1 }), _jsx(Container, { width: size * 0.15, height: size * 0.5, backgroundColor: 0xffffff, borderRadius: 1 }), _jsx(Container, { width: size * 0.15, height: size * 0.3, backgroundColor: 0xffffff, borderRadius: 1 })] })));
|
|
16
|
+
PlayIcon.displayName = 'PlayIcon';
|
|
17
|
+
/** 停止アイコン: 四角 */
|
|
18
|
+
const StopIcon = memo(({ size }) => (_jsx(Container, { width: size, height: size, justifyContent: "center", alignItems: "center", children: _jsx(Container, { width: size * 0.5, height: size * 0.5, backgroundColor: 0xffffff, borderRadius: 1 }) })));
|
|
19
|
+
StopIcon.displayName = 'StopIcon';
|
|
20
|
+
/** 音量アイコン: 棒グラフ風 */
|
|
21
|
+
const VolumeIcon = memo(({ size, muted }) => (_jsxs(Container, { width: size, height: size, flexDirection: "row", justifyContent: "center", alignItems: "flex-end", gap: size * 0.06, children: [_jsx(Container, { width: size * 0.12, height: size * 0.25, backgroundColor: muted ? 0x666666 : 0xffffff, borderRadius: 1 }), _jsx(Container, { width: size * 0.12, height: size * 0.45, backgroundColor: muted ? 0x666666 : 0xffffff, borderRadius: 1 }), _jsx(Container, { width: size * 0.12, height: size * 0.65, backgroundColor: muted ? 0x666666 : 0xffffff, borderRadius: 1 })] })));
|
|
22
|
+
VolumeIcon.displayName = 'VolumeIcon';
|
|
23
|
+
export const ControlPanel = memo(({ id, width, screenHeight, playing, progress, duration, volume, url, visible, onPlayPause, onStop, onSeek, onVolumeChange, onUrlChange, onToggleVisible, }) => {
|
|
24
|
+
const pxHeight = screenHeight / PIXEL_SIZE;
|
|
25
|
+
const panelHeight = pxHeight * PANEL_HEIGHT_RATIO;
|
|
16
26
|
const currentTime = progress * duration;
|
|
17
27
|
const timeText = `${formatTime(currentTime)} / ${formatTime(duration)}`;
|
|
18
28
|
const { requestTextInput } = useTextInputContext();
|
|
@@ -28,7 +38,23 @@ export const ControlPanel = memo(({ id, width, screenHeight, playing, progress,
|
|
|
28
38
|
},
|
|
29
39
|
});
|
|
30
40
|
}, [id, url, onUrlChange, requestTextInput]);
|
|
31
|
-
|
|
41
|
+
const progressSegments = useMemo(() => {
|
|
42
|
+
return Array.from({ length: PROGRESS_SEGMENTS }).map((_, i) => {
|
|
43
|
+
const value = (i / (PROGRESS_SEGMENTS - 1)) * duration;
|
|
44
|
+
const isFilled = i / PROGRESS_SEGMENTS <= progress;
|
|
45
|
+
return { index: i, value, isFilled };
|
|
46
|
+
});
|
|
47
|
+
}, [duration, progress]);
|
|
48
|
+
const volumeSegments = useMemo(() => {
|
|
49
|
+
return Array.from({ length: VOLUME_SEGMENTS }).map((_, i) => {
|
|
50
|
+
const value = i / (VOLUME_SEGMENTS - 1);
|
|
51
|
+
const isFilled = value <= volume;
|
|
52
|
+
return { index: i, value, isFilled };
|
|
53
|
+
});
|
|
54
|
+
}, [volume]);
|
|
55
|
+
const buttonSize = panelHeight * 0.6;
|
|
56
|
+
const iconSize = buttonSize * 0.5;
|
|
57
|
+
return (_jsx(Container, { sizeX: width, sizeY: screenHeight, pixelSize: PIXEL_SIZE, flexDirection: "column", justifyContent: "flex-end", onClick: onToggleVisible, cursor: "pointer", children: !visible ? null : _jsxs(_Fragment, { children: [_jsx(Container, { flexGrow: 1, width: "100%", backgroundColor: 0x000000, opacity: 0.4 }), _jsxs(Container, { width: "100%", height: panelHeight, backgroundColor: 0x000000, opacity: 0.6, flexDirection: "row", alignItems: "center", paddingX: panelHeight * 0.15, gap: panelHeight * 0.1, children: [_jsx(Container, { width: buttonSize, height: buttonSize, backgroundColor: 0x444444, borderRadius: buttonSize / 2, justifyContent: "center", alignItems: "center", hover: { backgroundColor: 0x666666 }, active: { backgroundColor: 0x333333 }, onClick: handleUrlInput, cursor: "pointer", children: _jsx(Text, { fontSize: iconSize * 0.6, color: 0xffffff, fontWeight: "bold", children: "URL" }) }), _jsx(Container, { width: buttonSize, height: buttonSize, backgroundColor: 0x444444, borderRadius: buttonSize / 2, justifyContent: "center", alignItems: "center", hover: { backgroundColor: 0x666666 }, active: { backgroundColor: 0x333333 }, onClick: onPlayPause, cursor: "pointer", children: playing ? _jsx(PauseIcon, { size: iconSize }) : _jsx(PlayIcon, { size: iconSize }) }), _jsx(Container, { width: buttonSize, height: buttonSize, backgroundColor: 0x444444, borderRadius: buttonSize / 2, justifyContent: "center", alignItems: "center", hover: { backgroundColor: 0x666666 }, active: { backgroundColor: 0x333333 }, onClick: onStop, cursor: "pointer", children: _jsx(StopIcon, { size: iconSize }) }), _jsx(Container, { flexGrow: 1, height: panelHeight * 0.2, flexDirection: "row", gap: 1, borderRadius: 2, children: progressSegments.map((seg) => (_jsx(Container, { flexGrow: 1, height: "100%", backgroundColor: seg.isFilled ? 0x4a9eff : 0x333333, hover: { backgroundColor: seg.isFilled ? 0x6ab4ff : 0x555555 }, onClick: () => onSeek(seg.value), cursor: "pointer" }, seg.index))) }), _jsx(Text, { fontSize: iconSize * 0.7, color: 0xaaaaaa, whiteSpace: "pre", children: timeText }), _jsx(VolumeIcon, { size: iconSize, muted: volume === 0 }), _jsx(Container, { width: panelHeight * 1.2, height: panelHeight * 0.2, flexDirection: "row", gap: 1, borderRadius: 2, children: volumeSegments.map((seg) => (_jsx(Container, { flexGrow: 1, height: "100%", backgroundColor: seg.isFilled ? 0x4aff4a : 0x333333, hover: { backgroundColor: seg.isFilled ? 0x6eff6e : 0x555555 }, onClick: () => onVolumeChange(seg.value), cursor: "pointer" }, seg.index))) })] })] }) }));
|
|
32
58
|
});
|
|
33
59
|
ControlPanel.displayName = 'ControlPanel';
|
|
34
60
|
//# sourceMappingURL=ControlPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlPanel.js","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/ControlPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ControlPanel.js","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/components/ControlPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/VideoPlayer/index.tsx"],"names":[],"mappings":"AAUA,UAAU,KAAK;IACb,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAA;AA8DpC,eAAO,MAAM,WAAW,4IASnB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/VideoPlayer/index.tsx"],"names":[],"mappings":"AAUA,UAAU,KAAK;IACb,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAA;AA8DpC,eAAO,MAAM,WAAW,4IASnB,KAAK,6CA2HT,CAAA"}
|
|
@@ -48,6 +48,7 @@ export const VideoPlayer = memo(({ id, position = DEFAULT_POSITION, rotation = D
|
|
|
48
48
|
const [duration, setDuration] = useState(0);
|
|
49
49
|
const [hasError, setHasError] = useState(false);
|
|
50
50
|
const [reloadKey, setReloadKey] = useState(0);
|
|
51
|
+
const [controlsVisible, setControlsVisible] = useState(false);
|
|
51
52
|
const seekTimeRef = useRef(null);
|
|
52
53
|
const screenHeight = width * (9 / 16);
|
|
53
54
|
const handleUrlChange = useCallback((newUrl) => {
|
|
@@ -79,11 +80,14 @@ export const VideoPlayer = memo(({ id, position = DEFAULT_POSITION, rotation = D
|
|
|
79
80
|
const handleProgressChange = useCallback((newProgress) => {
|
|
80
81
|
setProgress(newProgress);
|
|
81
82
|
}, []);
|
|
83
|
+
const handleToggleControls = useCallback(() => {
|
|
84
|
+
setControlsVisible((prev) => !prev);
|
|
85
|
+
}, []);
|
|
82
86
|
const handleError = useCallback((error) => {
|
|
83
87
|
console.error('VideoPlayer error:', error);
|
|
84
88
|
setHasError(true);
|
|
85
89
|
}, []);
|
|
86
|
-
return (_jsxs("group", { position: position, rotation: rotation, children: [!currentUrl || hasError ? (_jsxs(_Fragment, { children: [_jsx(PlaceholderScreen, { width: width, screenHeight: screenHeight, color: "#000000" }), !currentUrl && (_jsx(Text, { position: [0, 0, 0.01], fontSize: width * 0.05, color: "#666666", anchorX: "center", anchorY: "middle", "material-side": FrontSide, children: "URL\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044" }))] })) : (_jsx(ErrorBoundary, { fallback: _jsx(PlaceholderScreen, { width: width, screenHeight: screenHeight, color: "#000000" }), onError: handleError, children: _jsx(Suspense, { fallback: _jsx(PlaceholderScreen, { width: width, screenHeight: screenHeight, color: "#333333" }), children: _jsx(VideoTextureInner, { url: currentUrl, cacheKey: reloadKey, width: width, screenHeight: screenHeight, playing: playing, volume: volume, onDurationChange: handleDurationChange, onProgressChange: handleProgressChange, seekTimeRef: seekTimeRef }, `${currentUrl}-${reloadKey}`) }) })), _jsx(ControlPanel, { id: id, width: width, screenHeight: screenHeight, playing: playing, progress: progress, duration: duration, volume: volume, url: currentUrl || '', onPlayPause: handlePlayPause, onStop: handleStop, onSeek: handleSeek, onVolumeChange: handleVolumeChange, onUrlChange: handleUrlChange })] }));
|
|
90
|
+
return (_jsxs("group", { position: position, rotation: rotation, children: [!currentUrl || hasError ? (_jsxs(_Fragment, { children: [_jsx(PlaceholderScreen, { width: width, screenHeight: screenHeight, color: "#000000" }), !currentUrl && (_jsx(Text, { position: [0, 0, 0.01], fontSize: width * 0.05, color: "#666666", anchorX: "center", anchorY: "middle", "material-side": FrontSide, children: "URL\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044" }))] })) : (_jsx(ErrorBoundary, { fallback: _jsx(PlaceholderScreen, { width: width, screenHeight: screenHeight, color: "#000000" }), onError: handleError, children: _jsx(Suspense, { fallback: _jsx(PlaceholderScreen, { width: width, screenHeight: screenHeight, color: "#333333" }), children: _jsx(VideoTextureInner, { url: currentUrl, cacheKey: reloadKey, width: width, screenHeight: screenHeight, playing: playing, volume: volume, onDurationChange: handleDurationChange, onProgressChange: handleProgressChange, seekTimeRef: seekTimeRef }, `${currentUrl}-${reloadKey}`) }) })), _jsx("group", { position: [0, 0, 0.01], children: _jsx(ControlPanel, { id: id, width: width, screenHeight: screenHeight, playing: playing, progress: progress, duration: duration, volume: volume, url: currentUrl || '', visible: !playing || controlsVisible, onPlayPause: handlePlayPause, onStop: handleStop, onSeek: handleSeek, onVolumeChange: handleVolumeChange, onUrlChange: handleUrlChange, onToggleVisible: handleToggleControls }) })] }));
|
|
87
91
|
});
|
|
88
92
|
VideoPlayer.displayName = 'VideoPlayer';
|
|
89
93
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -54,12 +54,13 @@ export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImp
|
|
|
54
54
|
const unregisterInteractable = useCallback((object) => {
|
|
55
55
|
interactableObjects.delete(object);
|
|
56
56
|
}, [interactableObjects]);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
const xriftContextValue = useMemo(() => ({
|
|
58
|
+
baseUrl,
|
|
59
|
+
interactableObjects,
|
|
60
|
+
registerInteractable,
|
|
61
|
+
unregisterInteractable,
|
|
62
|
+
}), [baseUrl, interactableObjects, registerInteractable, unregisterInteractable]);
|
|
63
|
+
return (_jsx(XRiftContext.Provider, { value: xriftContextValue, children: _jsx(ScreenShareProvider, { value: screenShareImpl, children: _jsx(TextInputProvider, { value: textInputImpl, children: _jsx(InstanceStateProvider, { implementation: instanceStateImplementation, children: _jsx(SpawnPointProvider, { implementation: spawnPointImplementation, children: _jsx(UsersProvider, { implementation: usersImplementation, children: _jsx(InstanceEventProvider, { value: instanceEventImpl, children: _jsx(TeleportProvider, { value: teleportImpl, children: _jsx(ConfirmProvider, { value: confirmImpl, children: _jsx(WorldProvider, { value: worldImpl, children: _jsx(InstanceProvider, { value: instanceImpl, children: placementMode ? (_jsx(PlacementStateProvider, { mode: placementMode, children: children })) : (children) }) }) }) }) }) }) }) }) }) }) }));
|
|
63
64
|
};
|
|
64
65
|
/**
|
|
65
66
|
* XRift ワールドの情報を取得するhook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XRiftContext.js","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"XRiftContext.js","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVideoElement.d.ts","sourceRoot":"","sources":["../../src/hooks/useVideoElement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAQpC,MAAM,WAAW,sBAAsB;IACrC,YAAY;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,sBAAsB;IACtB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc;IACd,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC5B,eAAe;IACf,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,QAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,gBAAgB,GACjB,EAAE,sBAAsB,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"useVideoElement.d.ts","sourceRoot":"","sources":["../../src/hooks/useVideoElement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAQpC,MAAM,WAAW,sBAAsB;IACrC,YAAY;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,eAAe;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,sBAAsB;IACtB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc;IACd,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAC5B,eAAe;IACf,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,QAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,gBAAgB,GACjB,EAAE,sBAAsB,GAAG,qBAAqB,CA4MhD"}
|
|
@@ -28,6 +28,29 @@ export function useVideoElement({ url, cacheKey = 0, playing, volume, loop = fal
|
|
|
28
28
|
videoRef.current = texture.image;
|
|
29
29
|
errorReportedRef.current = false; // 新しいテクスチャではエラーフラグをリセット
|
|
30
30
|
}, [texture]);
|
|
31
|
+
// Triplex デバッグパネルへの出力
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
const video = videoRef.current;
|
|
34
|
+
if (!video)
|
|
35
|
+
return;
|
|
36
|
+
const debugInterval = setInterval(() => {
|
|
37
|
+
const v = videoRef.current;
|
|
38
|
+
if (!v)
|
|
39
|
+
return;
|
|
40
|
+
window.triplex?.debug("VideoElement", {
|
|
41
|
+
paused: v.paused,
|
|
42
|
+
muted: v.muted,
|
|
43
|
+
volume: v.volume,
|
|
44
|
+
readyState: v.readyState,
|
|
45
|
+
networkState: v.networkState,
|
|
46
|
+
currentTime: Math.round(v.currentTime * 100) / 100,
|
|
47
|
+
duration: Math.round((v.duration || 0) * 100) / 100,
|
|
48
|
+
error: v.error ? `${v.error.code}: ${v.error.message}` : null,
|
|
49
|
+
src: v.src.slice(0, 60),
|
|
50
|
+
});
|
|
51
|
+
}, 500);
|
|
52
|
+
return () => clearInterval(debugInterval);
|
|
53
|
+
}, [texture]);
|
|
31
54
|
// 再生/停止制御
|
|
32
55
|
useEffect(() => {
|
|
33
56
|
const video = videoRef.current;
|
|
@@ -157,24 +180,16 @@ export function useVideoElement({ url, cacheKey = 0, playing, volume, loop = fal
|
|
|
157
180
|
};
|
|
158
181
|
}, [texture, onError, onBufferingChange, onDurationChange, startStallDetection, clearStallDetection]);
|
|
159
182
|
// クリーンアップ
|
|
183
|
+
// suspend-react がビデオ要素とテクスチャのライフサイクルを管理するため、
|
|
184
|
+
// ソースのクリアやテクスチャの破棄はしない(Strict Mode での再マウントで壊れるため)
|
|
160
185
|
useEffect(() => {
|
|
161
186
|
const video = texture.image;
|
|
162
187
|
return () => {
|
|
163
|
-
// 停止検出をクリア
|
|
164
188
|
if (stallCheckIntervalRef.current) {
|
|
165
189
|
clearInterval(stallCheckIntervalRef.current);
|
|
166
190
|
stallCheckIntervalRef.current = null;
|
|
167
191
|
}
|
|
168
|
-
// 再生を停止
|
|
169
192
|
video.pause();
|
|
170
|
-
// ソースを完全にクリア
|
|
171
|
-
video.src = "";
|
|
172
|
-
video.removeAttribute("src");
|
|
173
|
-
video.srcObject = null;
|
|
174
|
-
// MediaSourceをリリースするためにloadを呼び出し
|
|
175
|
-
video.load();
|
|
176
|
-
// テクスチャを破棄
|
|
177
|
-
texture.dispose();
|
|
178
193
|
};
|
|
179
194
|
}, [texture]);
|
|
180
195
|
return { texture, videoRef };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVideoElement.js","sourceRoot":"","sources":["../../src/hooks/useVideoElement.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useVideoElement.js","sourceRoot":"","sources":["../../src/hooks/useVideoElement.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xrift/world-components",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.5",
|
|
4
4
|
"description": "Shared components and utilities for Xrift worlds",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"@react-three/drei": "^10.0.0",
|
|
35
35
|
"@react-three/fiber": "^9.0.0",
|
|
36
36
|
"@react-three/rapier": "^2.0.0",
|
|
37
|
+
"@react-three/uikit": "^1.0.0",
|
|
37
38
|
"hls.js": "^1.5.0",
|
|
38
39
|
"react": "^18.0.0 || ^19.0.0",
|
|
39
40
|
"three": ">=0.176.0"
|
|
@@ -42,6 +43,9 @@
|
|
|
42
43
|
"@react-three/rapier": {
|
|
43
44
|
"optional": true
|
|
44
45
|
},
|
|
46
|
+
"@react-three/uikit": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
45
49
|
"hls.js": {
|
|
46
50
|
"optional": true
|
|
47
51
|
}
|
|
@@ -50,6 +54,8 @@
|
|
|
50
54
|
"@react-three/drei": "^10.7.6",
|
|
51
55
|
"@react-three/fiber": "^9.4.0",
|
|
52
56
|
"@react-three/rapier": "^2.2.0",
|
|
57
|
+
"@react-three/uikit": "^1.0.62",
|
|
58
|
+
"@triplex/api": "^0.1.4",
|
|
53
59
|
"@types/react": "^18.3.12",
|
|
54
60
|
"@types/three": "^0.181.0",
|
|
55
61
|
"jsdom": "^28.0.0",
|