mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-31 08:08:19 +08:00
@@ -1443,7 +1443,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
if (plPlayerController.showSeekPreview)
|
if (!plPlayerController.isLive && plPlayerController.showSeekPreview)
|
||||||
buildSeekPreviewWidget(
|
buildSeekPreviewWidget(
|
||||||
plPlayerController,
|
plPlayerController,
|
||||||
maxWidth,
|
maxWidth,
|
||||||
@@ -1778,8 +1778,9 @@ Widget buildSeekPreviewWidget(
|
|||||||
try {
|
try {
|
||||||
VideoShotData data = plPlayerController.videoShot!.data;
|
VideoShotData data = plPlayerController.videoShot!.data;
|
||||||
|
|
||||||
final isFullScreen = plPlayerController.isFullScreen.value;
|
final double scale =
|
||||||
final double scale = isFullScreen && !plPlayerController.isVertical
|
plPlayerController.isFullScreen.value &&
|
||||||
|
!plPlayerController.isVertical
|
||||||
? 4
|
? 4
|
||||||
: 3;
|
: 3;
|
||||||
double height = 27 * scale;
|
double height = 27 * scale;
|
||||||
@@ -1795,7 +1796,7 @@ Widget buildSeekPreviewWidget(
|
|||||||
double imgYSize = data.imgYSize;
|
double imgYSize = data.imgYSize;
|
||||||
|
|
||||||
return Align(
|
return Align(
|
||||||
alignment: isFullScreen ? Alignment.center : Alignment.center,
|
alignment: Alignment.center,
|
||||||
child: Obx(
|
child: Obx(
|
||||||
() {
|
() {
|
||||||
final index = plPlayerController.previewIndex.value!;
|
final index = plPlayerController.previewIndex.value!;
|
||||||
@@ -1871,10 +1872,7 @@ Future<ui.Image?> _getImg(String url) async {
|
|||||||
final fileInfo = await cacheManager.getFileFromCache(cacheKey);
|
final fileInfo = await cacheManager.getFileFromCache(cacheKey);
|
||||||
if (fileInfo != null) {
|
if (fileInfo != null) {
|
||||||
final bytes = await fileInfo.file.readAsBytes();
|
final bytes = await fileInfo.file.readAsBytes();
|
||||||
final codec = await ui.instantiateImageCodec(bytes);
|
return _loadImg(bytes);
|
||||||
final frame = await codec.getNextFrame();
|
|
||||||
codec.dispose();
|
|
||||||
return frame.image;
|
|
||||||
} else {
|
} else {
|
||||||
final res = await Request().get(
|
final res = await Request().get(
|
||||||
url,
|
url,
|
||||||
@@ -1883,14 +1881,19 @@ Future<ui.Image?> _getImg(String url) async {
|
|||||||
if (res.statusCode == 200) {
|
if (res.statusCode == 200) {
|
||||||
final data = res.data;
|
final data = res.data;
|
||||||
cacheManager.putFile(cacheKey, data, fileExtension: 'jpg');
|
cacheManager.putFile(cacheKey, data, fileExtension: 'jpg');
|
||||||
final codec = await ui.instantiateImageCodec(data);
|
return _loadImg(data);
|
||||||
final frame = await codec.getNextFrame();
|
|
||||||
return frame.image;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<ui.Image?> _loadImg(Uint8List bytes) async {
|
||||||
|
final codec = await ui.instantiateImageCodec(bytes);
|
||||||
|
final frame = await codec.getNextFrame();
|
||||||
|
codec.dispose();
|
||||||
|
return frame.image;
|
||||||
|
}
|
||||||
|
|
||||||
class _VideoShotImageState extends State<VideoShotImage> {
|
class _VideoShotImageState extends State<VideoShotImage> {
|
||||||
late Size _size;
|
late Size _size;
|
||||||
late Rect _dstRect;
|
late Rect _dstRect;
|
||||||
|
|||||||
Reference in New Issue
Block a user