Flutter Incall Manager Save

flutter-incall-manager

Project README

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}) :smile: :smile: start incall manager. ringback accept non-empty string or it won't playdefault: {media:'audio', auto: true, ringback: ''}
stop({busytone: ?string}) :smile: :smile: stop incall manager busytone accept non-empty string or it won't play default: {busytone: ''}
turnScreenOn() :smile: :rage: force turn screen on
turnScreenOff() :smile: :rage: force turn screen off
setKeepScreenOn(enable: ?boolean) :smile: :smile: set KeepScreenOn flag = true or falsedefault: false
setSpeakerphoneOn(enable: ?boolean) :smile: :rage: toggle speaker ON/OFF once. but not forcedefault: false
setForceSpeakerphoneOn(flag: ?boolean) :smile: :smile: true -> force speaker on false -> force speaker off null -> use default behavior according to media typedefault: null
setMicrophoneMute(enable: ?boolean) :smile: :rage: mute/unmute micophonedefault: falsep.s. if you use webrtc, you can just use track.enabled = false to mute
async checkRecordPermission() :smile: :smile: check record permission without promt. return Promise. see about permission section above
async requestRecordPermission() :smile: :smile: request record permission to user. return Promise. see about permission section above
startRingtone(ringtone: string, ?vibrate_pattern: array, ?ios_category: string, ?seconds: number) :smile: :smile: 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() :smile: :smile: stop play ringtone if previous started via startRingtone()
stopRingback() :smile: :smile: stop play ringback if previous started via start()
setFlashOn(enable: ?boolean, brightness: ?number) :rage: :smile: set flash light on/off
async getIsWiredHeadsetPluggedIn() :rage: :smile: return wired headset plugged in state

Events

Event android ios description
'Proximity' :smile: :smile: proximity sensor detected changes.
data: {'isNear': boolean}
'WiredHeadset' :smile: :smile: fire when wired headset plug/unplug
data: {'isPlugged': boolean, 'hasMic': boolean, 'deviceName': string }
'NoisyAudio' :smile: :rage: see andriod doc.
data: null
'MediaButton' :smile: :rage: when external device controler pressed button. see android doc
data: {'eventText': string, 'eventCode': number }
'onAudioFocusChange' :smile: :rage: see andriod doc
data: {'eventText': string, 'eventCode': number }
Open Source Agenda is not affiliated with "Flutter Incall Manager" Project. README Source: kangshaojun/flutter-incall-manager
Stars
74
Open Issues
17
Last Commit
2 years ago
License
ISC

Open Source Agenda Badge

Open Source Agenda Rating