首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在rtsp流加载时以libvlc颤振显示加载。

在rtsp流加载时以libvlc颤振显示加载。
EN

Stack Overflow用户
提问于 2022-04-28 18:41:03
回答 1查看 288关注 0票数 0

我想显示加载,而vlc在颤振负载rtsp流-它需要10秒,没有反馈在屏幕上。我是新手,我想知道是否有任何方法来检查流何时加载并开始播放,因此我可以隐藏加载,以下是实时流屏幕的全部代码vlc播放器控制器正在播放流。

代码语言:javascript
运行
复制
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
import 'package:MyApp/ScreenArguments.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:flutter/services.dart';
import 'package:percent_indicator/percent_indicator.dart';

class LiveStreamScreen extends StatefulWidget {
  const LiveStreamScreen({Key? key}) : super(key: key);

  @override
  _LiveStreamScreenState createState() => _LiveStreamScreenState();
}

class _LiveStreamScreenState extends State<LiveStreamScreen> {
final int zoomscale =1;
bool loaded = false;
  VlcPlayerController _videoPlayerController = new VlcPlayerController.network(
    "linkcomeshere",
    hwAcc: HwAcc.full,
    autoPlay: true,
    options:VlcPlayerOptions(),
  );
  bool isPlaying = true;
  bool isBuffering = true;
  String position = '';
  String duration = '';
  double sliderValue = 0.0;
  double startValue = 0.0;
  double volume = 80;
  bool playing = false;

  @override
   void initState()
  {
    log("helo2");
    super.initState();

  }
void checkIfPlaying() async
{

    bool? play = await _videoPlayerController.isPlaying();
      if (play==null) {
        print("not playing inside async");
      }
      else
        {
          playing = play;
          print("now playing inside async");
        }


}
@override
void dispose() async {
  super.dispose();
}
 _checkifplaying() async
{
  print("now inside async");
  bool? value = await _videoPlayerController.isPlaying();


  if(value == true)
    {
        print("now playing inside async");
    }
    else
    {
      print("not playing inside async");
    }
}
@override
Widget build(BuildContext context) {
  final args = ModalRoute.of(context)!.settings.arguments as ScreenArguments;
  _videoPlayerController = VlcPlayerController.network(
    args.data,
    hwAcc: HwAcc.full,
    autoPlay: true,
    options:VlcPlayerOptions(),

  );
  _videoPlayerController.play();
  _videoPlayerController.addListener(() {



  });
  final int zoomscale =1;
  final key = args.data2;
  String titlemain = "Screen streaming";
    
  return Scaffold(

    resizeToAvoidBottomInset: false,
    body:
      SingleChildScrollView(
      child: Container(
      alignment: Alignment.topCenter,
      child:
          Column
            (
              children: <Widget>[
                InteractiveViewer(

                  panEnabled: false,
                  alignPanAxis: true,
                  // Set it to false to prevent panning.
                  // boundaryMargin: EdgeInsets.all(80),
                  minScale: 0.5,
                  maxScale: 10,
                  child: VlcPlayer(
                    controller: _videoPlayerController,
                    aspectRatio: 16 / 9,
                    placeholder: const Center(child : CircularProgressIndicator()),
                  ),
                ),
                Text(titlemain, style: GoogleFonts.poppins(
                textStyle: Theme.of(context).textTheme.bodySmall,
                  fontSize: 20,
                  fontWeight: FontWeight.w500,
                  fontStyle: FontStyle.italic,
                ),),
                Text("Please Wait it Takes - 10 to 12 Seconds to load the lIVE Stream", style: GoogleFonts.poppins(
                  textStyle: Theme.of(context).textTheme.bodySmall,
                  fontSize: 20,
                  fontWeight: FontWeight.w500,
                  fontStyle: FontStyle.italic,
                ),),

              ],
            ),

    ),
      ),
  );
}
}
EN

回答 1

Stack Overflow用户

发布于 2022-04-29 03:28:08

提供缓冲和播放事件。使用这些来绑定加载UI控件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72048763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档