![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
react-native-nodemediaclient
Advanced tools
This project is the react-native packaging of NodeMediaClient-Android and NodeMediaClient-iOS SDK.
Readme
This project is the react-native packaging of NodeMediaClient-Android and NodeMediaClient-iOS SDK.
Complete live publish and play functions, providing the exact same API call. You can publish two platforms just by developing one set of programs.
中文介绍
cd AwesomeProject
yarn add react-native-nodemediaclient
react-native link react-native-nodemediaclient
No longer needed after react native 0.60
cd ios
pod install
Open AwesomeProject/android/app/src/main/AndroidManifest.xml, Add
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Open AwesomeProject/ios/QLive/Info.plist , Add:
<key>NSCameraUsageDescription</key>
<string>AwesomeProject requires access to your phone’s camera.</string>
<key>NSMicrophoneUsageDescription</key>
<string>AwesomeProject requires access to your phone’s Microphone.</string>
import { NodePlayerView } from 'react-native-nodemediaclient';
......
<NodePlayerView
style={{ height: 200 }}
ref={(vp) => { this.vp = vp }}
inputUrl={"rtmp://192.168.0.10/live/stream"}
scaleMode={"ScaleAspectFit"}
bufferTime={300}
maxBufferTime={1000}
autoplay={true}
/>
import { NodeCameraView } from 'react-native-nodemediaclient';
const requestCameraPermission = async () => {
try {
const granted = await PermissionsAndroid.requestMultiple([PermissionsAndroid.PERMISSIONS.CAMERA,PermissionsAndroid.PERMISSIONS.RECORD_AUDIO],
{
title: "Cool Photo App Camera And Microphone Permission",
message:
"Cool Photo App needs access to your camera " +
"so you can take awesome pictures.",
buttonNeutral: "Ask Me Later",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the camera");
} else {
console.log("Camera permission denied");
}
} catch (err) {
console.warn(err);
}
};
......
<NodeCameraView
style={{ height: 400 }}
ref={(vb) => { this.vb = vb }}
outputUrl = {"rtmp://192.168.0.10/live/stream"}
camera={{ cameraId: 1, cameraFrontMirror: true }}
audio={{ bitrate: 32000, profile: 1, samplerate: 44100 }}
video={{ preset: 12, bitrate: 400000, profile: 1, fps: 15, videoFrontMirror: false }}
autopreview={true}
/>
<Button title="request permissions" onPress={requestCameraPermission} />
<Button
onPress={() => {
if (this.state.isPublish) {
this.setState({ publishBtnTitle: 'Start Publish', isPublish: false });
this.vb.stop();
} else {
this.setState({ publishBtnTitle: 'Stop Publish', isPublish: true });
this.vb.start();
}
}}
title={this.state.publishBtnTitle}
color="#841584"
/>
I don't know which version of react native updated compileSdkVersion to 28 instead of 23, Camera and microphone permissions need to be manually requested. Look at the document at https://reactnative.dev/docs/permissionsandroid , If don't have permission to apply first, you will only see a white screen.
In this demo you might have to boot it twice. In the official version, you can apply permission on the home page first, and then jump to the live page after you have permission.
FAQs
This project is the react-native packaging of NodeMediaClient-Android and NodeMediaClient-iOS SDK.
The npm package react-native-nodemediaclient receives a total of 146 weekly downloads. As such, react-native-nodemediaclient popularity was classified as not popular.
We found that react-native-nodemediaclient demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.