We can't recommend you use this module in production yet.
$ npm install @ghinwa/react-native-audio-session-manager --save
$ react-native link @ghinwa/react-native-audio-session-manager
- In XCode, in the project navigator, right click Libraries➜Add Files to [your project's name]
- Go to node_modules➜react-native-audio-session-managerand addRNAudioSessionManager.xcodeproj
- In XCode, in the project navigator, select your project. Add libRNAudioSessionManager.ato your project'sBuild Phases➜Link Binary With Libraries
- Run your project (Cmd+R)<
- Open up android/app/src/main/java/[...]/MainActivity.java
- Add import com.reactlibrary.RNAudioSessionManagerPackage;to the imports at the top of the file
- Add new RNAudioSessionManagerPackage()to the list returned by thegetPackages()method
- Append the following lines to android/settings.gradle:include ':react-native-audio-session-manager' project(':react-native-audio-session-manager').projectDir = new File(rootProject.projectDir, '../node_modules/@ghinwa/react-native-audio-session-manager/android')
- Insert the following lines inside the dependencies block in android/app/build.gradle:compile project(':react-native-audio-session-manager')
- In Visual Studio add the RNAudioSessionManager.slninnode_modules/react-native-audio-session-manager/windows/RNAudioSessionManager.slnfolder to their solution, reference from their app.
- Open up your MainPage.csapp
- Add using Audio.Session.Manager.RNAudioSessionManager;to the usings at the top of the file
- Add new RNAudioSessionManagerPackage()to theList<IReactPackage>returned by thePackagesmethod
import RNAudioSessionManager from 'react-native-audio-session-manager';
RNAudioSessionManager;- 
getHeadphonesConnectedreturns promise (bool) returns a promise with valuetruewhen the headphones are connected andfalseotherwise. On ios it usesAVAudioSessionPortHeadphonesandAVAudioSessionPortBluetoothHFPto resolve if headphones are connected.
- 
onHeadphonesStatusChange(callback)Executes callback everytime the headphones state changes
onHeadphonesStatusChange((connected) => {
	if (connected) {
		//
	}
})