0.4.1 • Published 8 months ago

react-native-radio-player-akw v0.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

react-native-radio-player

FOSSA Status

Play radio streams in react-native

Installation

yarn install react-native-radio-player

Usage

In android/main/AndroidManifest.xml :

  • Add the following permissions
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"/>
  • Add the following queries intent
  <queries>
    <intent>
      <action android:name="androidx.media3.session.MediaSessionService"/>
    </intent>
  </queries>
  • Add the following service under the application tag
  <service android:name="com.radioplayer.PlaybackService" android:foregroundServiceType="mediaPlayback" android:exported="true">
    <intent-filter>
      <action android:name="androidx.media3.session.MediaSessionService"/>
    </intent-filter>
  </service>
import RadioPlayer, {
  RadioPlayerEvents,
  RadioPlayerMetadata,
} from 'react-native-radio-player';

// ...

const metadataSeparator = "-"; // Used to split artist and title in stream metadata
RadioPlayer.radioURLWithMetadataSeparator('https://...', metadataSeparator);
// or RadioPlayer.radioURL('https://...')
RadioPlayer.stop();
RadioPlayer.play();

// State: error, stopped, playing, paused, buffering
RadioPlayerEvents.addEventListener('stateDidChange', (event) => {
  console.log(event.state);
});
// Metadata: {"artistName": "Example Artist", "trackName": "Example Title"}
RadioPlayerEvents.addListener('MetadataDidChange', (metadata) => {
  console.log(`Artist: ${metadata.artistName}`);
  console.log(`Title: ${metadata.trackName}`);
});

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

FOSSA Status Made with create-react-native-library