react-native-audio-streaming
iOS & Android react native module to play an audio stream, with background support and media controls
Features
- Background audio streaming of remote stream
- Control via sticky notification on android and media center on iOS
- Shoutcast/Icy meta data support
- Simple UI player component (if needed, an api to control the sound is available)
First installation step (applied for both iOS & Android)
$ npm install react-native-audio-streaming --save
Next installation steps for iOS (choose one of three options below)
1. Cocoapods installation
- add
pod 'RNAudioStreaming', :path => '../node_modules/react-native-audio-streaming'
toPodfile
- run
pod install
2. Mostly automatic installation
$ react-native link react-native-audio-streaming
Go to node_modules
➜ react-native-audio-streaming
=> ios
=> Pods
and drag/drop Pods.xcodeproj
to the Libraries folder in your XCode project.
In XCode, in the project navigator, select your project. Add libReactNativeAudioStreaming.a
and libStreamingKit.a
to your project's Build Phases
➜ Link Binary With Libraries
3. Manual installation
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-audio-streaming
=>ios
- run
pod install
to download StreamingKit dependency - add
ReactNativeAudioStreaming.xcodeproj
to the Libraries folder in your XCode project - add
Pods/Pods.xcodeproj
to the Libraries folder in your XCode project
- run
- In XCode, in the project navigator, select your project. Add
libReactNativeAudioStreaming.a
andlibStreamingKit.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)
Final steps for iOS (required after doing any of three options above)
-
Make sure
$(SRCROOT)/../node_modules/react-native-audio-streaming/ios
is added to your project'sHeader Search Paths
within theBuild Settings
section. -
Update Info.plist file of your Xcode project and add audio background mode
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
Next installation steps for Android
- Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import com.audioStreaming.ReactNativeAudioStreamingPackage;
to the imports at the top of the file - Add
new ReactNativeAudioStreamingPackage()
to the list returned by thegetPackages()
method
If you're using Android 23 or above - Add
new ReactNativeAudioStreamingPackage(MainActivity.class)
to he list returned by thegetPackages()
method instead.
- Append the following lines to
android/settings.gradle
:include ':react-native-audio-streaming' project(':react-native-audio-streaming').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-audio-streaming/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-audio-streaming')