mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-16 10:46:00 -07:00
feature: Added LibMDK video player backend (#162)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
6e32018183
commit
da354437e3
53 changed files with 1499 additions and 1006 deletions
50
lib/wrappers/players/base_player.dart
Normal file
50
lib/wrappers/players/base_player.dart
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/models/items/media_streams_model.dart';
|
||||
import 'package:fladder/models/playback/playback_model.dart';
|
||||
import 'package:fladder/wrappers/players/player_states.dart';
|
||||
|
||||
const libassFallbackFont = "assets/mp-font.ttf";
|
||||
|
||||
abstract class BasePlayer {
|
||||
Stream<PlayerState> get stateStream;
|
||||
PlayerState lastState = PlayerState();
|
||||
|
||||
Future<void> init(Ref ref);
|
||||
Widget? videoWidget(
|
||||
Key key,
|
||||
BoxFit fit,
|
||||
);
|
||||
Widget? subtitles(
|
||||
bool showOverlay,
|
||||
);
|
||||
Future<void> dispose();
|
||||
Future<void> open(String url, bool play);
|
||||
Future<void> seek(Duration position);
|
||||
Future<void> play();
|
||||
Future<void> setVolume(double volume);
|
||||
Future<void> setSpeed(double speed);
|
||||
Future<void> pause();
|
||||
Future<void> stop();
|
||||
Future<void> playOrPause();
|
||||
Future<void> loop(bool loop);
|
||||
Future<int> setSubtitleTrack(SubStreamModel? model, PlaybackModel playbackModel);
|
||||
Future<int> setAudioTrack(AudioStreamModel? model, PlaybackModel playbackModel);
|
||||
|
||||
Uri? isValidUrl(String input) {
|
||||
try {
|
||||
final uri = Uri.tryParse(input);
|
||||
if (uri != null && uri.isAbsolute && (uri.scheme == 'http' || uri.scheme == 'https')) {
|
||||
return uri;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue