Как возобновить воспроизведение видеоAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как возобновить воспроизведение видео

Сообщение Anonymous »

У меня есть виджет VideoPlayerItem, который воспроизводит видео и запускает обратный вызов onVideoEnd, когда видео заканчивается. У меня также есть кнопка обновления, которую я хочу использовать для возобновления воспроизведения видео. Как мне это сделать?
videoplayeritem

Код: Выделить всё

class VideoPlayerItem extends StatefulWidget {
final String videoUrl;
final Function onVideoEnd;
const VideoPlayerItem({super.key, required this.videoUrl,required this.onVideoEnd});

@override
State createState() => _VideoPlayerItemState();
}

class _VideoPlayerItemState extends State {
late VideoPlayerController videoPlayerController;

@override
void initState() {
super.initState();
videoPlayerController = VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl))
..initialize().then((_) {
videoPlayerController.play();
videoPlayerController.setVolume(1);
setState(() {}); // Ensure the UI updates once initialized
});
videoPlayerController.addListener(() {
if (videoPlayerController.value.position >= videoPlayerController.value.duration) {
widget.onVideoEnd();
}
});
}

@override
void dispose() {
super.dispose();
videoPlayerController.dispose();
}

@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
return Container(
height: size.height,
width: size.width,
decoration: BoxDecoration(
color: Colors.grey[200],
),
child: VideoPlayer(videoPlayerController),
);
}
}
Инициализация виджета VideoPlayerItem

Код: Выделить всё

Widget buildContent(Post post) {
switch (post.type) {
case 'video':
return VideoPlayerItem(
videoUrl: post.videoUrl!,
onVideoEnd: () {
setState(() {
showRateOverlay = true;
});
},
);
// ...
}
}
Код кнопки «Обновить»

Код: Выделить всё

InkWell(
onTap: () {
setState(() {
showRateOverlay = false; // Hide the rate overlay
});
if (post.type == 'image' || post.type == 'text') {
// Reset the timer
_rateOverlayTimer?.cancel();
_rateOverlayTimer = Timer(Duration(seconds: 8), () {
setState(() {
showRateOverlay = true; // Show the rate overlay after 15 seconds
});
});
}
},
child: const Icon(
Icons.refresh_outlined,
size: 40,
color: Colors.white,
),
),
Мне нужно, чтобы при нажатии кнопки обновить_outlined видео начиналось снова, а когда видео заканчивалось, состояние showRateOverlay было истинным.< /п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... o-playback
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Flutter: как возобновить воспроизведение звука в других приложениях на Android
    Anonymous » » в форуме Android
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Flutter: как возобновить воспроизведение звука в других приложениях на Android
    Anonymous » » в форуме Android
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Flutter: как возобновить воспроизведение звука в других приложениях на Android
    Anonymous » » в форуме Android
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Как приостановить/возобновить воспроизведение с помощью complexaudio в Python?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Воспроизведение видео на YouTube: Аккаунт YouTube, связанный с этим видео, закрыт.
    Anonymous » » в форуме IOS
    0 Ответы
    61 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»