gpt4 book ai didi

java - 有没有办法在 Android 上使用 WebRTC 共享屏幕

转载 作者:太空宇宙 更新时间:2023-11-04 13:31:47 32 4
gpt4 key购买 nike

我已经为 Android 构建了 webRTC,我想用它来共享屏幕。有没有一种方法可以开箱即用或将我自己的帧流作为视频源进行发送。

最佳答案

我在下面添加了一个示例,展示了如何将屏幕共享配置为视频源并将其添加为流中的轨道。

获取视频采集器

@TargetApi(21)
private VideoCapturer createScreenCapturer() {
if (mMediaProjectionPermissionResultCode != Activity.RESULT_OK) {
report("User didn't give permission to capture the screen.");
return null;
}
return new ScreenCapturerAndroid(
mMediaProjectionPermissionResultData, new MediaProjection.Callback() {
@Override
public void onStop() {
report("User revoked permission to capture the screen.");
}
});
}

初始化采集器并将轨道添加到本地媒体流

private void initScreenCapturStream() {
mLocalMediaStream = factory.createLocalMediaStream("ARDAMS");
MediaConstraints videoConstraints = new MediaConstraints();
videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxHeight", Integer.toString(mPeerConnParams.videoHeight)));
videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxWidth", Integer.toString(mPeerConnParams.videoWidth)));
videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxFrameRate", Integer.toString(mPeerConnParams.videoFps)));
videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("minFrameRate", Integer.toString(mPeerConnParams.videoFps)));

mVideoSource = factory.createVideoSource(videoCapturer);
videoCapturer.startCapture(mPeerConnParams.videoWidth, mPeerConnParams.videoHeight, mPeerConnParams.videoFps);
VideoTrack localVideoTrack = factory.createVideoTrack(VIDEO_TRACK_ID, mVideoSource);
localVideoTrack.setEnabled(true);
mLocalMediaStream.addTrack(factory.createVideoTrack("ARDAMSv0", mVideoSource));
AudioSource audioSource = factory.createAudioSource(new MediaConstraints());
mLocalMediaStream.addTrack(factory.createAudioTrack("ARDAMSa0", audioSource));

mListener.onStatusChanged("STREAMING");
}

有关更多信息,这可能是一个很好的起点。它是一个连接到 ProjectRTC 信令服务器并将屏幕共享为视频的 Android 项目。我发现它非常有帮助!

https://github.com/Jeffiano/ScreenShareRTC

关于java - 有没有办法在 Android 上使用 WebRTC 共享屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31146048/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com