title: 发布和订阅

使用发布 / 订阅 API 能够实现向 Room 发布媒体流 / 取消发布 / 订阅媒体流 / 停止订阅等操作。

注意:只有在 roomInstance.on(‘connected’,callback) 事件被触发后才能调用发布 / 订阅相关的 API

发布本地媒体流

使用 publish 方法向 Room 发布本地媒体流,本地媒体流的创建与配置参考本地媒体流。 发布成功后会触发其他客户端的 stream_added 事件。

  1. roomInstance.publish(localStream,function(error){
  2. if(error == null){
  3. console.log('publish success');
  4. }
  5. });

取消发布

使用 unpublish 方法取消发布本地媒体流。取消成功后会触发其他客户端的 roomInstance.on(‘stream_removed’,callback) 事件。

  1. roomInstance.unpublish(localStream,function(error){
  2. if(error == null){
  3. console.log('unpublish success');
  4. }
  5. });

订阅远端媒体流

加入 Room 成功后,会触发 roomInstance.on(‘stream_added’,callback) 事件返回 Room 中已发布的远端流。使用 subscribe 方法订阅某个远端媒体流。

订阅成功后会触发本地 stream_receive 事件。

注意:stream_added 事件会被触发多次,每次只返回一个远端媒体流。

  1. roomInstance.on('stream_added', function(roomStream){
  2. room.subscribe(roomStream,function(error){
  3. if(error == null){
  4. console.log('subscribe success');
  5. }
  6. });
  7. });

取消订阅

使用 subscribe 方法取消订阅远端媒体流。

  1. roomInstance.unsubscribe(roomStream,function(error){
  2. if(error == null){
  3. console.log('unsubscribe success');
  4. }
  5. });