mirror of
https://github.com/R0m1k3/xtremobile.git
synced 2026-10-11 17:29:26 +02:00
Merge pull request #69 from R0m1k3/antigravity
feat: implement IPTV player with HLS.js and mpegts.js, supporting str…
This commit is contained in:
commit
3daf09333f
2 files changed
+24
-1
No files matched your search
@@ -416,6 +416,29 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
children: [
|
children: [
|
||||||
// HTML5 video player via iframe
|
// HTML5 video player via iframe
|
||||||
HtmlElementView(viewType: _viewId),
|
HtmlElementView(viewType: _viewId),
|
||||||
|
|
||||||
|
// GLOBAL INTERACTION LAYER (Fixes Click/Hover issues)
|
||||||
|
// This transparent layer sits ABOVE the iframe but BELOW the controls.
|
||||||
|
// It intercepts all pointer events, enabling Flutter to handle them.
|
||||||
|
Positioned.fill(
|
||||||
|
child: PointerInterceptor(
|
||||||
|
child: MouseRegion(
|
||||||
|
onHover: (_) => _onHover(),
|
||||||
|
child: GestureDetector(
|
||||||
|
// Toggle controls on tap
|
||||||
|
onTap: () {
|
||||||
|
if (_showControls) {
|
||||||
|
_hideControls();
|
||||||
|
} else {
|
||||||
|
_onHover();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
behavior: HitTestBehavior.translucent,
|
||||||
|
child: Container(color: Colors.transparent),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
// Hover Controls Layer
|
// Hover Controls Layer
|
||||||
if (_showControls) ...[
|
if (_showControls) ...[
|
||||||
|
|||||||
+1
-1
@@ -97,7 +97,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="player-container">
|
<div id="player-container">
|
||||||
<video id="video" controls autoplay></video>
|
<video id="video" autoplay></video>
|
||||||
<div id="loading">
|
<div id="loading">
|
||||||
<div class="spinner"></div>
|
<div class="spinner"></div>
|
||||||
<div id="loading-text">Loading stream...</div>
|
<div id="loading-text">Loading stream...</div>
|
||||||
|
|||||||
Reference in new issue
Block a user