# react-native-webrtc-audio
Display active audio devices and change audio device output on webrtc auido stream
## Installation
Run below command to install package.
```sh
npm install react-native-webrtc-audio
```
This package is constructed on react-native-webrtc package for onyl call operations. Therefore, you should run below command if react-native-webrtc package is not installed already.
```sh
npm install react-native-webrtc
```
## Usage
First, create instance of AudioSdk to get list of active audio output devices and change audio device.
### \#AudioSdk
```js
import { AudioSdk, Device } from "react-native-webrtc-audio";
const onAudioDevicesUpdated = (devices: Array) => {
console.log('[onAudioDevicesUpdated] devices:', JSON.stringfy(devices));
}
const audioSdk: AudioSdk = new AudioSdk({
onAudioDevicesUpdated
});
```
### \#updateAudioMode
Update AudioMode for call states to activate/deactivate callback for [audio devices](README.md#AudioSdk).
```js
/**
* Updates the audio mode based on call states.
*
* @param inCall Set true if any call exists
* @param isVideo Set true for video calls
*/
public updateAudioMode(inCall?: boolean, isVideo?: boolean);
```
### \#updateDeviceList
Only for iOS
Get currently active devices.
```js
audioSdk.updateDeviceList();
```
### \#updateAudioDevice
Update currently active audio output device.
```js
audioSdk.updateAudioDevice(device.uid || device.type);
```
## Contributing
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## License
MIT