flutter_sip 0.0.8 copy "flutter_sip: ^0.0.8" to clipboard
flutter_sip: ^0.0.8 copied to clipboard

PlatformAndroid

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"),
            ),
          ],
        ),
      ),
    );
  }
}
2
likes
140
points
258
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter Sip Plugin

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_sip