[*] 视频会话管理逻辑

This commit is contained in:
acgist
2023-04-17 08:27:01 +08:00
parent b8a007792c
commit 08b86b5702
15 changed files with 139 additions and 23 deletions

View File

@@ -244,8 +244,8 @@ public class MainActivity extends AppCompatActivity implements Serializable {
private void previewVideo(Message message) {
final GridLayout video = this.binding.video;
final int count = video.getChildCount();
final GridLayout.Spec rowSpec = GridLayout.spec(count / 2);
final GridLayout.Spec columnSpec = GridLayout.spec(count % 2);
final GridLayout.Spec rowSpec = GridLayout.spec(count / 2, 1, 0);
final GridLayout.Spec columnSpec = GridLayout.spec(count % 2, 1, 0);
GridLayout.LayoutParams layoutParams = new GridLayout.LayoutParams(rowSpec, columnSpec);
layoutParams.width = 0;
layoutParams.height = 0;

View File

@@ -2,6 +2,7 @@ package com.acgist.taoyao.media;
import android.content.Context;
import android.content.Intent;
import android.media.AudioRecord;
import android.media.MediaCodecInfo;
import android.media.MediaCodecList;
import android.media.projection.MediaProjection;
@@ -41,6 +42,9 @@ import org.webrtc.VideoFrame;
import org.webrtc.VideoSource;
import org.webrtc.VideoTrack;
import org.webrtc.audio.JavaAudioDeviceModule;
import org.webrtc.voiceengine.WebRtcAudioManager;
import org.webrtc.voiceengine.WebRtcAudioRecord;
import org.webrtc.voiceengine.WebRtcAudioUtils;
import java.util.Arrays;
@@ -361,6 +365,11 @@ public final class MediaManager {
// .setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
// .setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
// .build();
// WebRtcAudioRecord.setOnAudioSamplesReady(audioSamples -> {
// if(this.recordClient != null) {
// this.recordClient.onWebRtcAudioRecordSamplesReady(audioSamples);
// }
// });
final JavaAudioDeviceModule javaAudioDeviceModule = JavaAudioDeviceModule.builder(this.context)
// .setSampleRate()
// .setAudioSource(MediaRecorder.AudioSource.MIC)