Files
doyin/lib/app/modules/selfMedia/video/views/ffmpegTestScreen.dart
2025-07-07 18:45:44 +08:00

50 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
class RtmpStreamScreen extends StatefulWidget {
final String rtmpUrl;
RtmpStreamScreen({required this.rtmpUrl});
@override
_RtmpStreamScreenState createState() => _RtmpStreamScreenState();
}
class _RtmpStreamScreenState extends State<RtmpStreamScreen> {
late VlcPlayerController _videoPlayerController;
@override
void initState() {
super.initState();
_videoPlayerController = VlcPlayerController.network(
widget.rtmpUrl,
options: VlcPlayerOptions(),
);
}
@override
void dispose() {
_videoPlayerController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('RTMP Live Stream')),
body: Center(
child: VlcPlayer(
controller: _videoPlayerController,
aspectRatio: 16 / 9,
placeholder: Center(child: CircularProgressIndicator()),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
_videoPlayerController.play();
},
child: Icon(Icons.play_arrow),
),
);
}
}