react-native-headphone-detect-v2
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

React Native Headphone Detection V2

  • This library is ported from the legacy react-native-headphone-detection library with support for the latest version of Android/iOS SDK, and Typescript intellisense.

Installation

npm

npm install react-native-headphone-detection-v2

yarn

yarn add react-native-headphone-detection-v2

iOS installation

cd ios && pod install

Expo

This library won't work with Expo go app. You have to use the expo development build to make it work.

Once you install this library run the expo prebuild command to sync native ios/android folders.

API usage

  • isAudioDeviceConnected() returns a promise to determine whether there is any external audioJack or bluetooth device connected.

Typescript

You can import type ConnectedResult to know the output of isAudioDeviceConnected

import type { ConnectedResult } from 'react-native-headphone-detection-v2';
import { isAudioDeviceConnected } from 'react-native-headphone-detection-v2';

// both audioJack and bluetooth are boolean values
const { audioJack, bluetooth } = await isAudioDeviceConnected();
  • onAudioDeviceChanged detects whether the external audio output device has been changed or not. This function returns a callback to remove that listener. Usually, you have to call it inside the cleanup function of useEffect
import { onAudioDeviceChanged } from 'react-native-headphone-detection-v2';
import { useEffect } from 'react';

useEffect(() => {
  const { remove } = onAudioDeviceChanged(({ audioJack, bluetooth }) =>
    console.log('AUDIO DEVICE CHANGED')
  );
  return () => {
    remove();
  };
}, []);

This won't work for android/ios simulators.

New Architecture support

  • For now, it doesn't have support for that. I shall add that in the future. Any PR regarding that would be appreciated.

Contribution

  • If you have any suggestions or feature requests, you can create an issue accordingly. This library is solely maintained by ponikar. Any PR regarding improvements or features would be appreciated.

  • As I said earlier the core library is react-native-headphone-detection and I have ported it to create-react-native-library for better maintenance and support.

Huge thank you to the author Tintef of react-native-headphone-detection.

Package Sidebar

Install

npm i react-native-headphone-detect-v2

Weekly Downloads

96

Version

0.2.3

License

MIT

Unpacked Size

26.9 kB

Total Files

21

Last publish

Collaborators

  • ponikar