Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "webrtc-trace.txt"); }```#### 2. 音频设置如果我们不主动设置 AAC 或者 Opus 的音频编码,那么 WebRT... surfaceTextureHelper = SurfaceTextureHelper.create("CaptureThread", rootEglBase.getEglBaseContext()); videoSource = factory.createVideoSource(capturer.isScreencast()); capturer.initialize(sur...
请至类型详情页查看所用类型的具体改动。 变更对象 变更详情 旧版示例 新版示例 枚举值 删除前缀/后缀 改为全部大写,并以下划线分割 以 SubscribeMediaType 为例: RTC_SUBSCRIBE_MEDIA_TYPE_NONE(0), RTC_SUBSCRI... gLoudness NA setLoudness 播放外部音频源 enableAudioMixingFrame disableAudioMixingFrame pushAudioMixingFrame NA openWithCustomSource pushExternalAudioFrame 混音回调接口 播放状态回调 onAudioMi...
TextureMatrix ByteBuffer getBuffer byte[] getData Runnable getReleaseCallback VeLiveVideoFrame setReleaseCallback 函数说明 VeLiveVideoFramejava public VeLiveVideoFrame()视频帧初始化方法。 VeLiveVideoFramejava public VeLiveVideoFrame( int width, int height, long pts, int texId, boolean isOes, Matrix matrix)视频帧初始化方法。 传入参数 参数名 类型 说明 width int 视频帧的宽度,单位...
OpenGL OesTexturejava VeLiveVideoFrame videoFrame = new VeLiveVideoFrame(720, 1280, TimeUtils.currentTimeUs(), 0, true, null);videoFrame.setReleaseCallback(() -> { // 当videoFrame释放的时候调用,释放内存});mLivePusher.pushExternalVideoFrame(videoFrame);ByteBufferjava ByteBuffer byteBuffer = ByteBuffer.allocateDirect(720 * 1280 * 3 / 2); // I420 一帧大小VeLiveVideoFrame videoFrame = new VeLiveVid...
请至类型详情页查看所用类型的具体改动。 变更对象 变更详情 旧版示例 新版示例 枚举值 改为以 “k” 开头,“k+类名+值名”,大小写混合 以 UserWorkerType 为例: UserWorkerNormal = 0, UserWorkerSupportSip = (1... gLoudness NA setLoudness 播放外部音频源 enableAudioMixingFrame disableAudioMixingFrame pushAudioMixingFrame NA openWithCustomSource pushExternalAudioFrame 混音回调接口 播放状态回调 onAudioMi...
mLivePusher.pushExternalVideoFrame(videoFrame1); videoFrame1.release(); frame.release(); }};// 音频采集回调, 发送音频数据给推流引擎mAudioFrameListener = new IAudioFrameObser... { // 添加连麦用户视图 TextureView renderView = new TextureView(Env.getApplicationContext()); VideoCanvas canvas = new VideoCanvas(); canvas.renderView = ...
VeLiveVideoCaptureExternal 4 使用外部设备或源进行视频采集。 VeLiveVideoCaptureCustomImage 5 使用指定的静态图片作为视频源。 VeLiveVideoCaptureLastFrame 6 使用最近采集的一帧图像重复作为视频源。 VeLiv... VeLiveVideoBufferTypeTexture 1 视频数据类型为 OpenGL 纹理。 VeLiveVideoBufferTypeByteBuffer 2 视频数据类型为 ByteBuffer 类型。 VeLiveVideoBufferTypeByteArray 3 视频数据类型为 ByteArray 类型。 VeLi...
打开主模块(一般是 app)下的 build.gradle,在 android 下加入 SDK 查询路径: gradle repositories { flatDir { dirs 'libs' }}然后在主模块的 build.gradle 中的 dependencies 下加入 S... process接口参数说明: 参数名 含义 srcTexture 输入纹理ID,需要确保该纹理是一张人脸为正的图像,如果是前置摄像头,需要同时完成镜像处理 dstTexture 输出纹理ID width 输入纹理宽度 height 输入纹理...
TextureView(applicationContext); VideoCanvas videoCanvas = new VideoCanvas(view, VideoCanvas.RENDER_MODE_HIDDEN); mRTCVideo.setLocalVideoCanvas(StreamIndex.STREAM_INDEX_MAIN, videoCanvas); ... // 将播放器回调出的数据送入RTC播放 player.pushExternalAudioFrame(frame);}/*** 关闭PCM混音*/public void stopAudioMixing(int playerId) { // 获取RTC混音播放器 IMediaPlayer player = mEngine...
gleTabStickerActivity.java //单tab贴纸页面│ ├── StickerActivty.java//多tab贴纸│ └── StyleMakeUpActivity.java// 风格妆├── adapter│ ├── EffectButtonRVAdapter.java│ ├── Effec... TextureRotationUtil.java├── res // 资源路径管理│ └── AlgorithmResourceHelper.java├── task //异步任务│ ├── facecluster // 人脸聚类│ │ ├── FaceClusterHandler.java│ │ ...