Package Exports
- react-native-pili
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-native-pili) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
#Pili Streaming Cloud React Native SDK
##Introduction
这可能是第一个在 React Native 上实现全功能的直播 SDK 了,底层基于 Pili-SDK,把 iOS 和 Android 的 API 尽量统一。
2.0 版本为了更容易集成第三方 SDK ,对原有的 React Native 项目进行了改造,iOS 的依赖采用了 Cocoapod 进行管理,当然你也可以采用原来的方式,毕竟是可以共存的。为此准备了一个 Starter Kit 可以查看如何进行集成。
##Installation
git clone https://github.com/buhe/pili-startkit YourPorjectName
cd YourPorjectName/js && npm install
cd ../ios && pod install
###Javascript
cd YourPorjectName/js
npm start
###iOS
- Open ios/YourPorjectName.xcworkspace (这里请注意是打开 .xcworkspace!请确认)
- Just run your project (Cmd+R)
- 如果是 iOS 10 需要在 info 中额外添加如下权限:
<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string>
<key>NSContactsUsageDescription</key>
<string>contactsDesciption</string>
<key>NSMicrophoneUsageDescription</key>
<string>microphoneDesciption</string>
ref: iOS 10
###Android
- Open android use Android Studio
- Just run your project
##TODO
- Android Player
- Android Streaming
- iOS Player
- iOS Streaming
- 美颜和水印支持
##Usage ###1. 推流
<Streaming
rtmpURL={"rtmp://pili-publish.pilitest.qiniucdn.com/pilitest/demo_test?key=6eeee8a82246636e"}
style={{
height:400,
width:400,
}}
zoom={1} //zoom
muted={true} //muted
focus={false} //focus
profile={{ //video and audio profile
video:{
fps:30,
bps:1000 * 1024,
maxFrameInterval:48
},
audio:{
rate:44100,
bitrate:96 * 1024
},
started={false} //streaming status
onReady={()=>{}} //onReady event
onConnecting={()=>{}} //onConnecting event
onStreaming={()=>{}} //onStreaming event
onShutdown={()=>{}} //onShutdown event
onIOError={()=>{}} //onIOError event
onDisconnected={()=>{}} //onDisconnected event
/>
###2. 直播播放
<Player
source={{
uri:"rtmp://pili-live-rtmp.pilitest.qiniucdn.com/pilitest/xxx",
timeout: 10 * 1000, //live streaming timeout (ms) Android only
live:true, //live streaming ? Android only
hardCodec:false, //hard codec [recommended false] Android only
}}
started={true} //iOS only
muted={false} //iOS only
style={{
height:200,
width:200,
}}
onLoading={()=>{}} //loading from remote or local
onPaused={()=>{}} //pause event
onShutdown={()=>{}} //stopped event
onError={()=>{}} //error event
onPlaying={()=>{}} //play event
/>
##Release Note ##2.1.1
- Android Player
- Android Streaming
- iOS Player
- iOS Streaming