The options for resuming the consumer.
A promise that resolves when the consumer is successfully resumed.
// Basic usage
import { consumerResume } from 'mediasfu-reactnative-expo';
await consumerResume({
track: audioTrack,
remoteProducerId: 'producer-123',
params: {
id: 'consumer-456',
producerId: 'producer-123',
kind: 'audio',
rtpParameters: rtpParams,
},
consumer: consumerInstance,
nsock: socketInstance,
parameters: {
eventType: 'conference',
participants: allParticipants,
// ... other required parameters
},
});
// With custom MiniAudio component for off-screen audio visualization
import { consumerResume } from 'mediasfu-reactnative-expo';
import { CustomMiniAudio } from './components/CustomMiniAudio';
await consumerResume({
track: audioTrack,
remoteProducerId: 'producer-123',
params: {
id: 'consumer-456',
producerId: 'producer-123',
kind: 'audio',
rtpParameters: rtpParams,
},
consumer: consumerInstance,
nsock: socketInstance,
parameters: {
miniAudioComponent: CustomMiniAudio, // Custom audio waveform component
eventType: 'conference',
participants: allParticipants,
// ... other parameters
},
});
// With full component override suite
import { consumerResume } from 'mediasfu-reactnative-expo';
await consumerResume({
track: videoTrack,
remoteProducerId: 'producer-789',
params: {
id: 'consumer-101',
producerId: 'producer-789',
kind: 'video',
rtpParameters: rtpParams,
},
consumer: consumerInstance,
nsock: socketInstance,
parameters: {
audioOnlyStreams: [],
gotAllVids: false,
defer_receive: false,
firstAll: false,
remoteScreenStream: [],
hostLabel: 'host',
whiteboardStarted: false,
whiteboardEnded: false,
updateUpdateMainWindow: (value) => { console.log('updated')},
updateAllAudioStreams: (streams) => { console.log('updated')},
updateAllVideoStreams: (streams) => { console.log('updated')},
updateStreamNames: (streams) => { console.log('updated')},
updateAudStreamNames: (streams) => { console.log('updated')},
updateNStream: (stream) => { console.log('updated')},
updateMainHeightWidth: (value) => { console.log('updated')},
updateLock_screen: (value) => { console.log('updated')},
updateFirstAll: (value) => { console.log('updated')},
updateRemoteScreenStream: (streams) => { console.log('updated')},
updateOldAllStreams: (streams) => { console.log('updated')},
updateAudioOnlyStreams: (streams) => { console.log('updated')},
updateShareScreenStarted: (value) => { console.log('updated')},
updateGotAllVids: (value) => { console.log('updated')},
updateScreenId: (id) => { console.log('updated')},
updateDefer_receive: (value) => { console.log('updated')},
reorderStreams: (params) => { console.log('reordered') }
prepopulateUserMedia: (params) => { console.log('prepopulated') },
},
nsock: socketInstance,
};
consumerResume(options)
.then(() => {
console.log('Consumer resumed successfully');
})
.catch((error) => {
console.error('Error resuming consumer:', error);
});
Resumes a consumer transport by handling the provided track and updating the application state.
This function manages the resumption of media consumer transports (audio/video/screen) and updates the UI accordingly. It supports custom UI components through both custom render functions and component overrides, particularly for the MiniAudioPlayer component.
Key responsibilities: