All Projects → AllThatSeries → React Native Streaming Audio Player

AllThatSeries / React Native Streaming Audio Player

Licence: mit
Streaming audio player for both iOS and android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to React Native Streaming Audio Player

Audioplayermanager
⚠️ No longer maintained ⚠️ Small Swift Wrapper and Queue-Manager around AVPlayer which let you play MediaPlayer items and stream songs from URLs.
Stars: ✭ 78 (+136.36%)
Mutual labels:  audio-player, streaming
Taliesin
Lightweight audio streaming server
Stars: ✭ 35 (+6.06%)
Mutual labels:  audio-player, streaming
SoundDeck
Sound Deck is a powerful audio-focused plugin for the Elgato Stream Deck.
Stars: ✭ 20 (-39.39%)
Mutual labels:  streaming, audio-player
Bibleify Desktop
🖥️Simple & fast bible app with dramatized audio built with Electron, React, Rematch & Realm
Stars: ✭ 70 (+112.12%)
Mutual labels:  audio-player, streaming
Nymphcast
Audio and video casting system with support for custom applications.
Stars: ✭ 2,010 (+5990.91%)
Mutual labels:  audio-player, streaming
player
Proton Player is an HTML5-based streaming music player optimized for compatibility across many devices and browsers.
Stars: ✭ 84 (+154.55%)
Mutual labels:  streaming, audio-player
amplyfm
A free and open-source web app for streaming music.
Stars: ✭ 46 (+39.39%)
Mutual labels:  streaming, audio-player
Espflix
A free video streaming service that runs on a ESP32
Stars: ✭ 828 (+2409.09%)
Mutual labels:  streaming
Mobius
C# and F# language binding and extensions to Apache Spark
Stars: ✭ 929 (+2715.15%)
Mutual labels:  streaming
Down
Streaming downloads using net/http, http.rb or wget
Stars: ✭ 780 (+2263.64%)
Mutual labels:  streaming
Ovenmediaengine
OvenMediaEngine (OME) is a streaming engine for real-time live broadcasting with sub-second latency.
Stars: ✭ 760 (+2203.03%)
Mutual labels:  streaming
Spring Streaming
SPA on Spring Boot 1.x, WebSockets and React, gradle, nodejs, spring-boot, gradle multi project, spring-mvc, spring-data, gradle dependency update plugin, react-router
Stars: ✭ 6 (-81.82%)
Mutual labels:  streaming
Pothosblocks
A collection of core processing blocks
Stars: ✭ 7 (-78.79%)
Mutual labels:  streaming
Awesome Developer Streams
👩🏿‍💻👨🏾‍💻👩🏼‍💻👨🏽‍💻👩🏻‍💻 Awesome Developers, Streaming
Stars: ✭ 6,860 (+20687.88%)
Mutual labels:  streaming
Soundwaveinteractive
Interactive Sound Board for Mixer. Microsoft shut Mixer down, so this application no longer works. RIP Mixer.
Stars: ✭ 27 (-18.18%)
Mutual labels:  streaming
Node Csv Parse
CSV parsing implementing the Node.js `stream.Transform` API
Stars: ✭ 768 (+2227.27%)
Mutual labels:  streaming
Icecast
Icecast for Docker
Stars: ✭ 27 (-18.18%)
Mutual labels:  streaming
Play
Play audio files from terminal.
Stars: ✭ 12 (-63.64%)
Mutual labels:  audio-player
Kaudiorecorder
İOS Audio Record & Play Helper Class 🔊
Stars: ✭ 22 (-33.33%)
Mutual labels:  audio-player
Euterpe
Real-time Audio-to-audio Karaoke Generation System for Monaural Music
Stars: ✭ 19 (-42.42%)
Mutual labels:  audio-player

react-native-streaming-audio-player npm version

Streaming audio player for iOS + Android

Features

  • Play remote streaming audio source
  • Handle audio focus for...
    • incoming and outgoing calls
    • switching application contexts
  • Control audio from notification and lock screen (Android)
  • Control audio from control center and lock screen (iOS)
  • Control audio from headsets

Installation

First, install the library from npm:

npm install react-native-streaming-audio-player --save

Second, link the native dependencies.

react-native link react-native-streaming-audio-player

Running a sample app

In the Example directory:

cd Examples
npm install
react-native run-ios or run-android

Usage

import Player from 'react-native-streaming-audio-player';

export default class Example extends Component {
  constructor(props) {
    super(props);
    this.state = { currentTime: 0 }
    this.onUpdatePosition = this.onUpdatePosition.bind(this);
  }

  onPlay() {
    Player.play(source.url, {
      title: source,
      artist: source.artist,
      album_art_uri: source.arworkUrl,
    });
  }

  onPause() {
    Player.pause();
  }

  render() {
    return (
      <View style={styles.container}>
        <View style={{ flexDirection: 'row', alignSelf: 'stretch', justifyContent: 'space-around' }}>
          <Button
            title='Play'
            onPress={() => this.onPlay()}
            color='red'
          />
          <Button
            title='Pause'
            onPress={() => this.onPause()}
            color='red'
          />
        </View>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
});

API and Configuration

Player Control

  • play(url: string, metadata: object)
    • metadata.title
    • metadata.artist
    • metadata.album_art_uri
  • pause()
  • stop()

Callbacks

  • onPlaybackStateChanged
  • onUpdatePosition

PlaybackState

  • NONE
  • PLAYING
  • BUFFERING
  • PAUSED
  • STOPPED
  • COMPLETED

PlayerAction

  • Play
  • Pause
  • SkipToNext
  • SkipToPrevious

Roadmap

  • [ ] Unit tests
  • [ ] Clean up

Contribute

License

This project is licensed under the MIT License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].