flutter_incall 1.0.0
flutter_incall: ^1.0.0 copied to clipboard
Flutter InCall Manager plugin for iOS/Android.
flutter-incall-manager #
Port from react-native-incall-manager #
- Handling media-routes/sensors/events during a audio/video chat on Flutter
API: #
Methods
| Method | android | ios | description |
|---|---|---|---|
start({media: ?string, auto: ?boolean, ringback: ?string}) |
π | π | start incall manager. ringback accept non-empty string or it won't play default: {media:'audio', auto: true, ringback: ''} |
stop({busytone: ?string}) |
π | π | stop incall manager busytone accept non-empty string or it won't play default: {busytone: ''} |
| turnScreenOn() | π | π‘ | force turn screen on |
| turnScreenOff() | π | π‘ | force turn screen off |
setKeepScreenOn(enable: ?boolean) |
π | π | set KeepScreenOn flag = true or false default: false |
setSpeakerphoneOn(enable: ?boolean) |
π | π‘ | toggle speaker ON/OFF once. but not force default: false |
setForceSpeakerphoneOn(flag: ?boolean) |
π | π | true -> force speaker on false -> force speaker off null -> use default behavior according to media type default: null |
setMicrophoneMute(enable: ?boolean) |
π | π‘ | mute/unmute micophone default: false p.s. if you use webrtc, you can just use track.enabled = false to mute |
| async checkRecordPermission() | π | π | check record permission without promt. return Promise. see about permission section above |
| async requestRecordPermission() | π | π | request record permission to user. return Promise. see about permission section above |
startRingtone(ringtone: string, ?vibrate_pattern: array, ?ios_category: string, ?seconds: number) |
π | π | play ringtone. ringtone: 'DEFAULT' or 'BUNDLE'vibrate_pattern: same as RN, but does not support repeatios_category: ios only, if you want to use specific audio categoryseconds: android only, specify how long do you want to play rather than play once nor repeat. in sec. |
| stopRingtone() | π | π | stop play ringtone if previous started via startRingtone() |
| stopRingback() | π | π | stop play ringback if previous started via start() |
setFlashOn(enable: ?boolean, brightness: ?number) |
π‘ | π | set flash light on/off |
| async getIsWiredHeadsetPluggedIn() | π‘ | π | return wired headset plugged in state |
Events
| Event | android | ios | description |
|---|---|---|---|
| 'Proximity' | π | π | proximity sensor detected changes. data: {'isNear': boolean} |
| 'WiredHeadset' | π | π | fire when wired headset plug/unplug data: {'isPlugged': boolean, 'hasMic': boolean, 'deviceName': string } |
| 'NoisyAudio' | π | π‘ | see andriod doc. data: null |
| 'MediaButton' | π | π‘ | when external device controler pressed button. see android doc data: {'eventText': string, 'eventCode': number } |
| 'onAudioFocusChange' | π | π‘ | see andriod doc data: {'eventText': string, 'eventCode': number } |