NIMSDK-AOS  9.16.0
AVChatManager.java
浏览该文件的文档.
1 /*
2  * Copyright (c) 2014-2018 NetEase, Inc.
3  * All right reserved.
4  */
5 
6 package com.netease.nimlib.sdk.avchat;
7 
8 import android.content.Context;
9 
10 import com.netease.nimlib.avchat.AVChatManagerImpl;
17 import com.netease.nrtc.engine.rawapi.IRtcEngine;
18 import com.netease.nrtc.engine.rawapi.RtcCode;
19 import com.netease.nrtc.sdk.NRtcConstants;
20 import com.netease.nrtc.voice.AudioMixing;
21 
22 import java.util.List;
23 
24 
28 public abstract class AVChatManager extends AVChatManagerLite {
29 
35  public static AVChatManager getInstance() {
36  return AVChatManagerImpl.InstanceHolder.instance;
37  }
38 
44  public abstract void setNetworkProxy(AVChatNetworkProxy proxy);
45 
46 
50  public abstract AVChatNetworkProxy getNetworkProxy();
51 
52 
59  public abstract boolean setExternalAudioSource(boolean enabled);
60 
61 
76  public abstract int pushExternalAudioData(byte[] data,
77  int samples,
78  int sampleRate,
79  int channel,
80  int bytesPerSample,
81  boolean blocking) throws NullPointerException, IllegalArgumentException;
82 
91  public abstract boolean startAVRecording(String account);
92 
101  public abstract boolean stopAVRecording(String account);
102 
108  public abstract boolean startAudioRecording();
109 
116  public abstract boolean startAudioRecording(int type);
117 
123  public abstract boolean stopAudioRecording();
124 
133  public abstract boolean enableAudienceRole(boolean enable);
134 
135 
142  public abstract boolean isAudienceRole();
143 
144 
152  public static List<String> checkPermission(Context context) {
153  return IRtcEngine.checkPermission(context);
154  }
155 
163  public abstract boolean takeSnapshot(String account);
164 
165 
176  public abstract boolean startAudioMixing(String path,
177  boolean loopback,
178  boolean replace,
179  int cycle,
180  float volume);
181 
188  public abstract boolean setAudioMixingPlaybackVolume(float volume);
189 
196  public abstract boolean setAudioMixingSendVolume(float volume);
197 
204  public abstract boolean seekAudioMixing(long ms);
205 
211  public abstract boolean stopAudioMixing();
212 
218  public abstract boolean resumeAudioMixing();
219 
225  public abstract boolean pauseAudioMixing();
226 
227 
236  public abstract void preloadAudioEffect(int effectId, String audioFilePath);
237 
238 
250  public abstract boolean playAudioEffect(int effectId, int loopback, boolean send, float volume);
251 
252 
259  public abstract boolean stopPlayAudioEffect(int effectId);
260 
268  @Deprecated
269  public abstract void observeTimeoutNotification(Observer<Long> observer, boolean register);
270 
271 
279  public abstract boolean startPlayCapturedAudio();
280 
281 
289  public abstract boolean stopPlayCapturedAudio();
290 
291 
300  public abstract boolean setPlayCapturedAudioVolume(float volume);
301 
302 
309  public abstract void setAsMainArea(String account, AVChatRoomServerCallback callback);
310 
311 
320  public abstract boolean setExternalAudioMixingStream(boolean enabled,
321  boolean asSource,
322  boolean asSink);
323 
333  public abstract int pushExternalAudioMixingStream(byte[] audioData,
334  int samplesPerChannel,
335  int sampleRate,
336  int channel);
337 
338 
347  public abstract int setAutoPublish(boolean autoPub, boolean autoSub);
348 
354  public abstract boolean isAutoPublishVideo();
355 
361  public abstract boolean isAutoSubscribeVideo();
362 
363 
369  public abstract boolean isAutoSubscribeAudio();
370 
371 
383  public abstract int setLocalVideoSimulcastModel(int mode);
384 
385 
398  public abstract int publishVideo();
399 
412  public abstract int unpublishVideo();
413 
414 
429  public abstract int subscribeVideo(String account, int videoType);
430 
441  public abstract int unsubscribeVideo(String account);
442 
443 
453  public abstract int subscribeActiveAudio();
454 
464  public abstract int unsubscribeActiveAudio();
465 
466 
475  public abstract int setPublishFallbackOption(int option);
476 
484  public abstract boolean registerRemoteAudioCallBack(String account, IAVChatRemoteAudioCallBack callback);
485 
486 
494  public abstract boolean registerPlayAudioCallBack(IAVChatPlayAudioCallBack callback);
495 
502  public abstract void registerAVChatRecordObserver(IAVChatRecordObserver observer, boolean register);
503 
514  public abstract int getConnectStatus();
515 
516 
525  public abstract int switchCommunicateMode(int mode);
526 
527 }
abstract boolean isAutoPublishVideo()
查询当前是否为自动发布模式
static AVChatManager getInstance()
获取抽象类具体实现对象
abstract void setNetworkProxy(AVChatNetworkProxy proxy)
设置网络代理,需要在发起通话前前设置
abstract boolean stopAudioRecording()
通话中停止录音,包含所有用户的语音数据,录音文件格式为wav,文件保存在客户端本地。 ...
abstract boolean resumeAudioMixing()
恢复伴音
abstract void preloadAudioEffect(int effectId, String audioFilePath)
预加载或卸载 音效文件(播放音效前的必要操作)
abstract int subscribeVideo(String account, int videoType)
手动订阅视频流
abstract boolean seekAudioMixing(long ms)
设置伴音进度
abstract boolean registerRemoteAudioCallBack(String account, IAVChatRemoteAudioCallBack callback)
注册远端用户 pcm 音频数据回调
abstract void setAsMainArea(String account, AVChatRoomServerCallback callback)
互动直播设置主画面
abstract int pushExternalAudioData(byte[] data, int samples, int sampleRate, int channel, int bytesPerSample, boolean blocking)
外部输入音频数据, 每次最多允许传递 40ms 数据
abstract int subscribeActiveAudio()
手动订阅所有的活跃音频流
abstract boolean isAutoSubscribeAudio()
查询当前音频是否为自动订阅模式
abstract int unsubscribeActiveAudio()
手动取消订阅所有的活跃音频流
static List< String > checkPermission(Context context)
检查音视频模块缺失的权限.
abstract int setPublishFallbackOption(int option)
设置弱网条件下发布的音视频流回退选项 , 在加入房间前设置才有效
abstract int unsubscribeVideo(String account)
手动取消订阅视频流
abstract int getConnectStatus()
获取当前通话状态
abstract boolean setPlayCapturedAudioVolume(float volume)
abstract boolean setExternalAudioMixingStream(boolean enabled, boolean asSource, boolean asSink)
是否开启外部语音混音输入
abstract boolean playAudioEffect(int effectId, int loopback, boolean send, float volume)
播放音效 , 播放之前一定要预加载音效文件preloadAudioEffect(int, String) ,并在预加载结果回调AVChatSta...
abstract int publishVideo()
手动发布视频流
abstract boolean stopAudioMixing()
停止伴音
abstract int unpublishVideo()
手动取消发布视频流
abstract boolean startAVRecording(String account)
开始录制某个用户的语音和视频数据到文件,格式为mp4,该用户的语音和视频数据会被记录在MP4文件中,文件保...
abstract int setLocalVideoSimulcastModel(int mode)
设置本地视频多流模式。该方法设置单流(默认)、多流模式,发送端开启多流模式后,接收端可以选择接收大流...
abstract void registerAVChatRecordObserver(IAVChatRecordObserver observer, boolean register)
注册话单观察者
abstract boolean enableAudienceRole(boolean enable)
是否打开观众角色, 设置观众角色后所有的语音和视频数据的采集和发送会关闭,允许接收和播放远端其他用户的...
abstract boolean isAutoSubscribeVideo()
查询当前视频是否为自动订阅模式
abstract AVChatNetworkProxy getNetworkProxy()
获取已经设置的网络代理
abstract boolean stopAVRecording(String account)
停止录制某个用户的语音和视频数据到文件,格式为mp4,该用户的语音和视频数据会被记录在MP4文件中,文件保...
abstract boolean setExternalAudioSource(boolean enabled)
是否采用外部语音采集方式,启用后会关闭SDK内部语音采集
abstract boolean startAudioMixing(String path, boolean loopback, boolean replace, int cycle, float volume)
指定本地音频文件或者远程URL来和麦克风采集的音频流进行混音和替换
abstract void observeTimeoutNotification(Observer< Long > observer, boolean register)
注册/注销来电或者呼出电话(自己或者对方无响应)超时的通知,默认超时时间为45秒
abstract int switchCommunicateMode(int mode)
切换通话模式,只能在非观众模式下的通话过程中能切换
abstract boolean pauseAudioMixing()
暂停伴音
abstract int pushExternalAudioMixingStream(byte[] audioData, int samplesPerChannel, int sampleRate, int channel)
输入外部需要混音的数据, 数据输入间隔需要保证和数据长度严格一致
abstract boolean startAudioRecording()
通话中开始录音,包含所有用户的语音数据,录音文件格式为wav,文件保存在客户端本地。 ...
abstract int setAutoPublish(boolean autoPub, boolean autoSub)
设置是否自动发布,是否自动订阅 ,默认是自动发布和订阅,必须在joinRoom之前设置 说明:音频暂不支持手动...
abstract boolean isAudienceRole()
当前是否处于观众角色.
abstract boolean takeSnapshot(String account)
截取用户的画面
abstract boolean setAudioMixingSendVolume(float volume)
设置伴音发送音量
abstract boolean stopPlayAudioEffect(int effectId)
停止播放音效
abstract boolean registerPlayAudioCallBack(IAVChatPlayAudioCallBack callback)
注册播放前 pcm 音频数据回调
abstract boolean setAudioMixingPlaybackVolume(float volume)
设置伴音本地播放音量