@ -45,6 +45,7 @@ export class ConferencePlugin {
joinConference ( options ) {
joinConference ( options ) {
return new Promise ( ( resolve , reject ) => {
return new Promise ( ( resolve , reject ) => {
options . localMediaStream = this . getLocalMediaStream ( ) ;
this . getNetwork ( ) . joinConference ( options ) . then ( ( conference ) => {
this . getNetwork ( ) . joinConference ( options ) . then ( ( conference ) => {
resolve ( conference ) ;
resolve ( conference ) ;
} ) . catch ( ( err ) => {
} ) . catch ( ( err ) => {
@ -53,6 +54,18 @@ export class ConferencePlugin {
} ) ;
} ) ;
}
}
changeConferenceMedia ( ) {
return new Promise ( ( resolve , reject ) => {
this . getNetwork ( ) . changeConferenceMedia ( {
localMediaStream : this . getLocalMediaStream ( )
} ) . then ( ( ) => {
resolve ( ) ;
} ) . catch ( ( err ) => {
reject ( err ) ;
} ) ;
} ) ;
}
onLeft ( listener ) {
onLeft ( listener ) {
this . events . on ( 'left' , listener ) ;
this . events . on ( 'left' , listener ) ;
return this ;
return this ;
@ -98,19 +111,26 @@ export class ConferencePlugin {
setLocalMediaStream ( localMediaStream ) {
setLocalMediaStream ( localMediaStream ) {
this . removeLocalMediaStream ( ) ;
this . removeLocalMediaStream ( ) ;
this . localMediaStream = localMediaStream ;
this . localMediaStream = localMediaStream ;
this . localMediaStream . onEnded ( ( ) => {
this . events . emit ( 'localMediaStreamEnded' , this . localMediaStream ) ;
} ) ;
}
}
getLocalMediaStream ( ) {
getLocalMediaStream ( ) {
return this . localMediaStream ;
return this . localMediaStream ;
}
}
onLocalMediaStreamEnded ( listener ) {
this . events . on ( 'localMediaStreamEnded' , listener ) ;
}
hasLocalMediaStream ( ) {
hasLocalMediaStream ( ) {
return this . localMediaStream !== null ;
return this . localMediaStream !== null ;
}
}
removeLocalMediaStream ( ) {
removeLocalMediaStream ( ) {
if ( this . hasLocalMediaStream ( ) ) {
if ( this . hasLocalMediaStream ( ) ) {
this . getLocalMediaStream ( ) . stop ( ) ;
// this.getLocalMediaStream().stop();
}
}
}
}