react-native-audio-streaming is not maintained anymore. The main purpose was to play shoutcast streams with meta data and display a notification while playing.
Please see other projects like
If you are only looking to play local audio file with app in foreground, please see other audio libs.
$ npm install react-native-audio-streaming --save
pod 'RNAudioStreaming', :path => '../node_modules/react-native-audio-streaming'
to Podfile
pod install
$ 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
Libraries
➜ Add Files to [your project's name]
node_modules
➜ react-native-audio-streaming
=> ios
pod install
to download StreamingKit dependencyReactNativeAudioStreaming.xcodeproj
to the Libraries folder in your XCode projectPods/Pods.xcodeproj
to the Libraries folder in your XCode projectlibReactNativeAudioStreaming.a
and libStreamingKit.a
to your project's Build Phases
➜ Link Binary With Libraries
Cmd+R
)Make sure $(SRCROOT)/../node_modules/react-native-audio-streaming/ios
is added to your project's Header Search Paths
within the Build Settings
section.
Update Info.plist file of your Xcode project and add audio background mode
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
android/app/src/main/java/[...]/MainApplication.java
import com.audioStreaming.ReactNativeAudioStreamingPackage;
to the imports at the top of the filenew ReactNativeAudioStreamingPackage()
to the list returned by the getPackages()
method
If you're using Android 23 or abovenew ReactNativeAudioStreamingPackage(MainActivity.class)
to he list returned by the getPackages()
method instead.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')
android/app/build.gradle
:
compile project(':react-native-audio-streaming')
-keep class com.spoledge.aacdecoder.** {
*;
}
import { ReactNativeAudioStreaming } from 'react-native-audio-streaming';
const url = "http://lacavewebradio.chickenkiller.com:8000/stream.mp3";
ReactNativeAudioStreaming.pause();
ReactNativeAudioStreaming.resume();
ReactNativeAudioStreaming.play(url, {showIniOSMediaCenter: true, showInAndroidNotifications: true});
ReactNativeAudioStreaming.stop();
For more information see the Example app.
import { Player } from 'react-native-audio-streaming';
class PlayerUI extends Component {
render() {
return (
<Player url={"http://lacavewebradio.chickenkiller.com:8000/stream.mp3"} />
);
}
}
See also the list of contributors who participated in this project.
Since symlink support is still lacking on React Native, I use the wml cli tool created by the nice folks at wix.
wml add ~/react-native-audio-streaming ~/react-native-audio-streaming/Example/node_modules/react-native-audio-streaming
This project is licensed under the MIT License - see the LICENSE file for details