flutter_sip 0.0.8
flutter_sip: ^0.0.8 copied to clipboard
Flutter Sip Plugin
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:flutter_sip/flutter_sip.dart';
import 'package:flutter_sip/login_status_enum.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final _flutterSipPlugin = FlutterSip();
String loginStatus = "";
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Column(
children: [
Text("登录状态:$loginStatus"),
ElevatedButton(
onPressed: () {
_flutterSipPlugin.loginSip(
userName: "1000",
password: "1234",
sipIp: "192.168.1.237",
port: "5060",
displayName: "张三",
);
_flutterSipPlugin.onLoginStatusChange((status) {
switch (status) {
case LoginStatusEnum.ok:
loginStatus = "登录成功";
break;
case LoginStatusEnum.none:
loginStatus = "登录成功";
break;
case LoginStatusEnum.progress:
loginStatus = "登录中..";
break;
case LoginStatusEnum.failed:
loginStatus = "登录失败..";
break;
case LoginStatusEnum.refreshing:
loginStatus = "正在刷新注册..";
break;
case LoginStatusEnum.cleared:
loginStatus = "注销成功..";
break;
default:
}
setState(() {});
});
},
child: const Text("登录"),
),
ElevatedButton(
onPressed: () {
_flutterSipPlugin.logoutSip();
},
child: const Text("退出"),
),
ElevatedButton(
onPressed: () {
_flutterSipPlugin.makeCall(phoneNo: "1015", displayName: "张三");
},
child: const Text("打电话"),
),
ElevatedButton(
onPressed: () async {
var a = await _flutterSipPlugin.getMacAddress();
print(a);
},
child: const Text("获取MacAddress"),
),
],
),
),
);
}
}