1.0.14 • Published 3 years ago

webrtc-hook v1.0.14

Weekly downloads
19
License
MIT
Repository
github
Last release
3 years ago

webrtc-hook

Made with create-react-library

NPM JavaScript Style Guide

Install

npm install --save webrtc-hook

Usage

import React, { useState } from 'react'
import LocalStream from './components/LocalStream'
import RemoteStream from './components/RemoteStream'

import { usePeer, useWebRTC } from 'webrtc-hook'

function App() {
  const {
    peer,
    peerId,
    remoteStreamsListener,
    answerToggleMuteVideo,
    answerToggleMuteAudio
  } = usePeer()

  const {
    localStream,
    remoteStreams,
    startMediaStream,
    stopMediaStream,
    shareScreenStream,
    stopShareScreenStream,
    toggleMuteAudio,
    toggleMuteVideo,
    callPeer
  } = useWebRTC()

  const [remotePeerId, setRemotePeerId] = useState('')

  return (
    <div className='App'>
      <div>{'Peer ID: ' + peerId}</div>
      <>
        <LocalStream userMedia={localStream} />
        <RemoteStream
          remoteStreams={[...remoteStreams, ...remoteStreamsListener]}
        />
      </>
      <input
        value={remotePeerId}
        onChange={(event) => setRemotePeerId(event.target.value)}
      />
      <button
        variant='contained'
        color='primary'
        onClick={() => callPeer(peer, remotePeerId)}
      >
        CALL
      </button>
      <button
        variant='contained'
        color='primary'
        onClick={() => {
          shareScreenStream(() => {
            stopMediaStream()
          })
        }}
      >
        share screen
      </button>
      <button
        variant='contained'
        color='primary'
        onClick={() => {
          startMediaStream(() => {
            stopShareScreenStream()
          })
        }}
      >
        video
      </button>
      <button
        variant='contained'
        color='primary'
        onClick={() => {
          toggleMuteAudio()
          answerToggleMuteAudio()
        }}
      >
        Mute audio
      </button>
    </div>
  )
}

export default App

License

MIT © CucCuc

1.0.14

3 years ago

1.0.13

3 years ago

1.0.11

3 years ago

1.0.12

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago