Browse Source

更新版本到 1.4.1

ChangeLog
1. 新增预览的 API
2. 新增设置音频音量的 API
3. 修复播放音效时"回声"的问题
kevin.song 6 years ago
parent
commit
74c3ec3390
3 changed files with 142 additions and 66 deletions
  1. 138 62
      README.md
  2. 3 3
      lib/index.js
  3. 1 1
      package.json

+ 138 - 62
README.md

@@ -20,49 +20,52 @@ UCloudRTC 包含以下方法、类或对象:
 
 Client 类包含以下方法:
 
-* [构建函数](#client-constructor)
-* [joinRoom 方法](#client-joinroom)
-* [leaveRoom 方法](#client-leaveroom)
-* [publish 方法](#client-publish)
-* [unpublish 方法](#client-unpublish)
-* [subscribe 方法](#client-subscribe)
-* [unsubscribe 方法](#client-unsubscribe)
-* [on 方法](#client-on)
-* [off 方法](#client-off)
-* [muteAudio 方法](#client-muteaudio)
-* [unmuteAudio 方法](#client-unmuteaudio)
-* [muteVideo 方法](#client-mutevideo)
-* [unmuteVideo 方法](#client-unmutevideo)
-* [startRecording 方法](#client-startrecording)
-* [stopRecording 方法](#client-stoprecording)
-* [getUser 方法](#client-getuser)
-* [getUsers 方法](#client-getusers)
-* [getStream 方法](#client-getstream)
-* [getLocalStreams 方法](#client-getlocalstreams)
-* [getRemoteStreams 方法](#client-getremotestreams)
+* [构建函数 - 创建客户端](#client-constructor)
+* [joinRoom 方法 - 加入房间](#client-joinroom)
+* [leaveRoom 方法 - 离开房间](#client-leaveroom)
+* [publish 方法 - 发布本地流](#client-publish)
+* [unpublish 方法 - 取消发布本地流](#client-unpublish)
+* [subscribe 方法 - 订阅远端流](#client-subscribe)
+* [unsubscribe 方法 - 取消订阅远端流](#client-unsubscribe)
+* [on 方法 - 绑定事件处理函数](#client-on)
+* [off 方法 - 解绑事件处理函数](#client-off)
+* [muteAudio 方法 - 禁用音频轨道](#client-muteaudio)
+* [unmuteAudio 方法 - 启用音频轨道](#client-unmuteaudio)
+* [muteVideo 方法 - 禁用视频轨道](#client-mutevideo)
+* [unmuteVideo 方法 - 启用视频轨道](#client-unmutevideo)
+* [startRecording 方法 - 开启服务端录制](#client-startrecording)
+* [stopRecording 方法 - 结束服务端录制](#client-stoprecording)
+* [getUser 方法 - 获取当前用户信息](#client-getuser)
+* [getUsers 方法 - 获取所有远端用户信息](#client-getusers)
+* [getStream 方法 - 获取某条流信息](#client-getstream)
+* [getLocalStreams 方法 - 获取所有本地流信息](#client-getlocalstreams)
+* [getRemoteStreams 方法 - 获取所有远端流信息](#client-getremotestreams)
 * [getStreams 方法 - 已废弃](#client-getstreams)
-* [getMediaStream 方法](#client-getmediastream)
+* [getMediaStream 方法 - 获取某条流对应的媒体流](#client-getmediastream)
 * [getLocalMediaStream 方法 - 已废弃](#client-getlocalmediastream)
 * [getRemoteMediaStream 方法 - 已废弃](#client-getremotemediastream)
-* [getMicrophones 方法](#client-getmicrophones)
-* [getCameras 方法](#client-getcameras)
-* [getLoudspeakers 方法](#client-getloudspeakers)
-* [setVideoProfile 方法](#client-setvideoprofile)
-* [switchDevice 方法](#client-switchdevice)
-* [switchScreen 方法](#client-switchscreen)
-* [switchImage 方法](#client-switchimage)
-* [getAudioVolume 方法](#client-getaudiovolume)
-* [getAudioStats 方法](#client-getaudiostats)
-* [getVideoStats 方法](#client-getvideostats)
-* [getNetworkStats 方法](#client-getnetworkstats)
-* [preloadEffect 方法](#client-preloadeffect)
-* [unloadEffect 方法](#client-unloadeffect)
-* [playEffect 方法](#client-playeffect)
-* [pauseEffect 方法](#client-pauseeffect)
-* [resumeEffect 方法](#client-resumeeffect)
-* [stopEffect 方法](#client-stopeffect)
-* [setEffectVolume 方法](#client-seteffectvolume)
-* [snapshot 方法](#client-snapshot)
+* [getMicrophones 方法 - 获取麦克风设备信息](#client-getmicrophones)
+* [getCameras 方法 - 获取摄像头设备信息](#client-getcameras)
+* [getLoudspeakers 方法 - 获取扬声器设备信息](#client-getloudspeakers)
+* [setVideoProfile 方法 - 设置视频属性](#client-setvideoprofile)
+* [switchDevice 方法 - 切换音视频输入设备](#client-switchdevice)
+* [switchScreen 方法 - 切换屏幕共享](#client-switchscreen)
+* [switchImage 方法 - 切换图片推送](#client-switchimage)
+* [getAudioVolume 方法 - 获取音频音量](#client-getaudiovolume)
+* [setAudioVolume 方法 - 设置音频音量](#client-setaudiovolume)
+* [getAudioStats 方法 - 获取音频状态](#client-getaudiostats)
+* [getVideoStats 方法 - 获取视频状态](#client-getvideostats)
+* [getNetworkStats 方法 - 获取网络状态](#client-getnetworkstats)
+* [preloadEffect 方法 - 预加载音效文件](#client-preloadeffect)
+* [unloadEffect 方法 - 卸载音效文件](#client-unloadeffect)
+* [playEffect 方法 - 开始播放音效](#client-playeffect)
+* [pauseEffect 方法 - 暂停播放音效](#client-pauseeffect)
+* [resumeEffect 方法 - 恢复播放音效](#client-resumeeffect)
+* [stopEffect 方法 - 停止播放音效](#client-stopeffect)
+* [setEffectVolume 方法 - 设置播放音效的音量](#client-seteffectvolume)
+* [snapshot 方法 - 截屏](#client-snapshot)
+* [startPreviewing 方法 - 开启预览](#client-startpreviewing)
+* [stopPreviewing 方法 - 停止预览](#client-stoppreviewing)
 
 <a name="client-constructor"></a>
 
@@ -152,7 +155,7 @@ Err 为错误信息
 
 ### 4. publish 方法
 
-发布本地流,最多同时可发布条流(且摄像头,屏幕共享各一条,不可同时为同一类),示例代码:
+发布本地流,自 1.4.0 版本开始支持同时发布两条流(且摄像头,屏幕共享各一条,不可同时为同一类),示例代码:
 
 ```
 client.publish(Options, onFailure)
@@ -560,7 +563,7 @@ Stream:
 
 ### 19. getLocalStreams 方法
 
-获取所有发布流(本地流)的信息,示例代码:
+获取所有发布流(本地流)的信息( 1.4.0 及以上版本支持),示例代码:
 
 ```
 const result = client.getLocalStreams()
@@ -574,7 +577,7 @@ const result = client.getLocalStreams()
 
 ### 20. getRemoteStreams 方法
 
-获取所有订阅流(远端流)的信息,示例代码:
+获取所有订阅流(远端流)的信息( 1.4.0 及以上版本支持),示例代码:
 
 ```
 const result = client.getRemoteStreams()
@@ -588,14 +591,14 @@ const result = client.getRemoteStreams()
 
 ### getStreams 方法 - 已废弃
 
-获取订阅流(远端流)的信息,请使用 [getRemoteStreams](#client-getremotestreams)
+获取订阅流(远端流)的信息,1.4.0 及以上版本请使用 [getRemoteStreams](#client-getremotestreams)
 
 
 <a name="client-getmediastream"></a>
 
 ### 21. getMediaStream 方法
 
-获取发布(本地)/ 订阅(远端)流对应的媒体流,获取后,可通过 HtmlMediaElement(如:[video](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/video))进行播放,示例代码:
+获取发布(本地)/ 订阅(远端)流对应的媒体流( 1.4.0 及以上版本支持),获取后,可通过 HtmlMediaElement(如:[video](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/video))进行播放,示例代码:
 
 ```
 const result = client.getMediaStream(StreamId)
@@ -614,14 +617,14 @@ const result = client.getMediaStream(StreamId)
 
 ### getLocalMediaStream 方法 - 已废弃
 
-获取发布流对应的媒体流,请使用 [getMediaStream](#client-getmediastream)
+获取发布流对应的媒体流,1.4.0 及以上版本请使用 [getMediaStream](#client-getmediastream)
 
 
 <a name="client-getremotemediastream"></a>
 
 ### getRemoteMediaStream 方法 - 已废弃
 
-获取订阅流对应的媒体流,请使用 [getMediaStream](#client-getmediastream)
+获取订阅流对应的媒体流,1.4.0 及以上版本请使用 [getMediaStream](#client-getmediastream)
 
 
 <a name="client-getmicrophones"></a>
@@ -843,7 +846,7 @@ Err 为错误信息
 
 ### 29. getAudioVolume 方法
 
-获取流的音量大小,返回值范围 [0,100],示例代码:
+获取音频的音量,返回值范围 [0,100],示例代码:
 
 ```
 client.getAudioVolume(StreamId)
@@ -853,10 +856,38 @@ client.getAudioVolume(StreamId)
 
 - StreamId: string 类型,选传,本地或远端流的 ID 即 [Stream](#stream) 的 sid 属性值,当不传时,默认获取第一条本地流的音量大小
 
+<a name="client-setaudiovolume"></a>
+
+### 30. setAudioVolume 方法
+
+设置音频的音量,可设置的音量范围 [0,100],示例代码:
+
+```
+client.setAudioVolume(AudioVolumeOptions, callback)
+```
+
+#### 参数说明
+
+- AudioVolumeOptions: object 类型,必传,详细类型说明如下
+
+```
+{
+  streamId?: string   // 选填,发布/订阅流的 ID,不填时,为第一条发布流
+  volume: number      // 必填,音量大小,取值范围 [0, 100]
+}
+```
+
+- callback: function 类型,选传,方法的回调函数,函数说明如下
+
+```
+function callback(Err) {}
+```
+Err 为返回值,为空时,说明已执行成功,否则执行失败,值为执行失败的错误信息
+
 
 <a name="client-getaudiostats"></a>
 
-### 30. getAudioStats 方法
+### 31. getAudioStats 方法
 
 获取流的音频状态,示例代码:
 
@@ -894,7 +925,7 @@ Err 为错误信息
 
 <a name="client-getvideostats"></a>
 
-### 31. getVideoStats 方法
+### 32. getVideoStats 方法
 
 获取流的视频状态,示例代码:
 
@@ -934,7 +965,7 @@ Err 为错误信息
 
 <a name="client-getnetworkstats"></a>
 
-### 32. getNetworkStats 方法
+### 33. getNetworkStats 方法
 
 获取流的网络状态,示例代码:
 
@@ -968,7 +999,7 @@ Err 为错误信息
 
 <a name="client-preloadeffect"></a>
 
-### 33. preloadEffect 方法
+### 34. preloadEffect 方法
 
 预加载音效资源,示例代码:
 
@@ -991,7 +1022,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 
 <a name="client-unloadeffect"></a>
 
-### 34. unloadEffect 方法
+### 35. unloadEffect 方法
 
 卸载音效资源,示例代码::
 
@@ -1005,7 +1036,7 @@ client.unloadEffect(EffectId)
 
 <a name="client-playeffect"></a>
 
-### 35. playEffect 方法
+### 36. playEffect 方法
 
 播放音效,示例代码:
 
@@ -1029,6 +1060,7 @@ client.playEffect(EffectOptions, callback)
   replace?: boolean   // 选填,是否替换当前音轨,即只使用音效,不混音,默认不替换
 }
 ```
+
 - callback: function 类型,选传,方法的回调函数,函数说明如下
 
 ```
@@ -1038,7 +1070,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 
 <a name="client-pauseeffect"></a>
 
-### 36. pauseEffect 方法
+### 37. pauseEffect 方法
 
 暂停播放音效,示例代码:
 
@@ -1066,7 +1098,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 
 <a name="client-resumeeffect"></a>
 
-### 37. resumeEffect 方法
+### 38. resumeEffect 方法
 
 恢复播放音效,示例代码:
 
@@ -1095,7 +1127,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 
 <a name="client-stopeffect"></a>
 
-### 38. stopEffect 方法
+### 39. stopEffect 方法
 
 停止播放音效,示例代码:
 
@@ -1123,7 +1155,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 
 <a name="client-seteffectvolume"></a>
 
-### 39. setEffectVolume 方法
+### 40. setEffectVolume 方法
 
 设置正在播放的音效的音量大小,示例代码:
 
@@ -1152,7 +1184,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 
 <a name="client-snapshot"></a>
 
-### 40. snapshot 方法
+### 41. snapshot 方法
 
 可将指定的发布(本地)/订阅(远端)流截屏用于页面展示,或下载截屏图片,示例代码:
 
@@ -1160,7 +1192,7 @@ Err 为返回值,为空时,说明已执行成功,否则执行失败,值
 client.snapshot(SnapshotOptions, onSuccess, onFailure);
 ```
 
-> 注:为保证 API 的易用性,此 API 进行了重新设计,由于无法做到向前兼容,请使用 1.3.10 及以前包含此功能版本的用户调整调用方式。
+> 注:为保证 API 的易用性,此 API 自 1.4.0 版本进行了重新设计,由于无法做到向前( 1.3.7 - 1.3.10 版本)兼容,请使用 1.3.7 - 1.3.10 版本的用户调整调用方式。
 
 #### 参数说明
 
@@ -1189,9 +1221,53 @@ function(Err) {}
 ```
 Err 为错误信息
 
-#### 返回值说明
+<a name="client-startpreviewing"></a>
+
+### 42. startPreviewing 方法
+
+启动预览,示例代码:
+
+```
+client.startPreviewing(PreviewOptions, onSuccess, onFailure);
+```
 
-- image: string 类型,是图片转化的 base64 编码的 [Data URLs](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/data_URIs),可将其赋值给 Image 元素 - 详见 [HTMLImageElement](https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLImageElement) 的 src 属性
+#### 参数说明
+
+- PreviewOptions: object 类型,选传,详细的类型说明如下
+
+```
+{
+  audio: boolean          // 必填,指定是否使用麦克风设备
+  video: boolean          // 必填,指定是否使用摄像头设备
+  microphoneId?: string   // 选填,指定使用的麦克风设备的ID,可通过 getMicrophones 方法查询获得该ID,不填时,将使用默认麦克风设备
+  cameraId?: string       // 选填,指定使用的摄像头设备的ID,可以通过 getCameras 方法查询获得该ID,不填时,将使用默认的摄像头设备
+}
+```
+
+- onSuccess: function 类型,选传,方法调用成功时执行的回调函数,函数说明如下
+
+```
+function onSuccess(result) {}
+```
+
+- result: MediaStream 类型,类型说明见 [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream),可通过 HtmlMediaElement(如:[video](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/video))进行播放
+
+- onFailure: 选传,函数类型,方法调用失败时执行的回调函数。
+
+```
+function(Err) {}
+```
+Err 为错误信息
+
+<a name="client-stoppreviewing"></a>
+
+### 43. stopPreviewing 方法
+
+停止预览,示例代码:
+
+```
+client.stopPreviewing();
+```
 
 ----
 

File diff suppressed because it is too large
+ 3 - 3
lib/index.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "urtc-sdk",
-  "version": "1.4.0",
+  "version": "1.4.1",
   "description": "UCloud RTC javascript SDK",
   "main": "lib/index.js",
   "repository": {