dahua_flutter 0.0.1
dahua_flutter: ^0.0.1 copied to clipboard
A new Flutter plugin.
import 'dart:io';
import 'package:dahua_flutter/dahua_player.dart';
import 'package:dahua_flutter_example/live_page.dart';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:dahua_flutter/dahua_flutter.dart';
import 'package:dahua_flutter/dahua_player_controller.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
int channelNum = 0;
String channelName = "";
final TextEditingController _ipController = TextEditingController();
final TextEditingController _portController = TextEditingController();
final TextEditingController _usernameController = TextEditingController();
final TextEditingController _passwordController = TextEditingController();
@override
void initState() {
super.initState();
DahuaFlutter.init();
}
Future<int> login() async {
return await DahuaFlutter.login(
mIp: _ipController.text,
mPort: _portController.text,
mUsername: _usernameController.text,
mPassword: _passwordController.text);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
builder: EasyLoading.init(),
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Builder(builder: (BuildContext context) {
return Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
children: [
TextField(
controller: _ipController,
decoration: const InputDecoration(labelText: "IP"),
),
TextField(
controller: _portController,
decoration: const InputDecoration(labelText: "端口号"),
),
TextField(
controller: _usernameController,
decoration: const InputDecoration(labelText: "用户名"),
),
TextField(
controller: _passwordController,
decoration: const InputDecoration(labelText: "密码"),
),
TextButton(
onPressed: () async {
EasyLoading.show(status: 'loading...');
int loginHandel = await login();
EasyLoading.showSuccess("登录成功");
print(loginHandel);
// sleep(Duration(milliseconds: 5));
Future.delayed(const Duration(seconds: 2), () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => LivePage()));
});
},
child: const Text("登录"))
// SizedBox(
// width: double.infinity,
// height: 400,
// child: DaHuaPlayer(
// controller: _controller,
// ),
// ),
// TextButton(
// onPressed: () {
// DahuaFlutter.login(mIp: "nmghlxx.eicp.vip", mPort: "14096", mUsername: "admin", mPassword: "123123abc");
// },
// child: const Text("登录")),
// TextButton(
// onPressed: () {
// _controller.play();
// },
// child: const Text("开始")),
// TextButton(
// onPressed: () {
// _controller.stop();
// },
// child: const Text("停止")),
// TextButton(
// onPressed: () async {
// int num = await DahuaFlutter.getChannelNum();
//
// setState(() {
// channelNum = num;
// });
// },
// child: Text("获取通道数量$channelNum")),
// TextButton(
// onPressed: () async {
// String name = await DahuaFlutter.getChannelName(0);
// setState(() {
// channelName = name;
// });
// },
// child: Text("获取通道名称$channelName"))
],
),
);
}),
),
);
}
}