当前位置: 首页>>代码示例>>Java>>正文


Java VideoCapturerAndroid类代码示例

本文整理汇总了Java中org.webrtc.VideoCapturerAndroid的典型用法代码示例。如果您正苦于以下问题:Java VideoCapturerAndroid类的具体用法?Java VideoCapturerAndroid怎么用?Java VideoCapturerAndroid使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


VideoCapturerAndroid类属于org.webrtc包,在下文中一共展示了VideoCapturerAndroid类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getVideoCapturer

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
private VideoCapturer getVideoCapturer(CameraVideoCapturer.CameraEventsHandler eventsHandler) {
    String[] cameraFacing = {"front", "back"};
    int[] cameraIndex = {0, 1};
    int[] cameraOrientation = {0, 90, 180, 270};
    for (String facing : cameraFacing) {
        for (int index : cameraIndex) {
            for (int orientation : cameraOrientation) {
                String name = "Camera " + index + ", Facing " + facing +
                        ", Orientation " + orientation;
                VideoCapturer capturer = VideoCapturerAndroid.create(name, eventsHandler);
                if (capturer != null) {
                    Log.d("Using camera: ", name);
                    return capturer;
                }
            }
        }
    }
    throw new RuntimeException("Failed to open capture");
}
 
开发者ID:vivek1794,项目名称:webrtc-android-codelab,代码行数:20,代码来源:MainActivity.java

示例2: createCapturerVideoTrack

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
private VideoTrack createCapturerVideoTrack(VideoCapturerAndroid capturer) {
    videoSource = factory.createVideoSource(capturer, videoConstraints);
    localVideoTrack = factory.createVideoTrack(VIDEO_TRACK_ID, videoSource);
    localVideoTrack.setEnabled(renderVideo);
    localVideoTrack.addRenderer(new VideoRenderer(localRender));
    return localVideoTrack;
}
 
开发者ID:nubomedia-vtt,项目名称:webrtcpeer-android,代码行数:8,代码来源:MediaResourceManager.java

示例3: onViewClicked

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
@OnClick({R.id.btnCamera, R.id.btnVoice, R.id.btnChangeCam, R.id.btnEndCall})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.btnCamera:
                enableCam = !enableCam;
                btnCamera.setSelected(!enableCam);
                localVideoTrack.setEnabled(enableCam);
                break;
            case R.id.btnVoice:
                enableVoice = !enableVoice;
                btnVoice.setSelected(!enableVoice);
                localAudioTrack.setEnabled(enableVoice);
                break;
            case R.id.btnChangeCam:
                LogUtils.e("change cam");
                videoCapture.switchCamera(new VideoCapturerAndroid.CameraSwitchHandler() {
                    @Override
                    public void onCameraSwitchDone(final boolean b) {
                        LogUtils.e("is Front Camera: " + b);
                        VideoCallActivity.this.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                isFrontCam = b;
                                btnChangeCam.setSelected(!isFrontCam);
//                                VideoRendererGui.update(localRender, 72, 65, 25, 25, RendererCommon.ScalingType.SCALE_ASPECT_FIT, isFrontCam);
                            }
                        });

                    }

                    @Override
                    public void onCameraSwitchError(String s) {
                        LogUtils.e("onCameraSwitchError: ");
                    }
                });
                break;
            case R.id.btnEndCall:
                endCall();
                break;
        }
    }
 
开发者ID:vuatovuanang,项目名称:WebRTC-VideoCall-Anrdoid,代码行数:42,代码来源:VideoCallActivity.java

示例4: createPeerConnection

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
public void createPeerConnection(
			final EglBase.Context renderEGLContext,
			final VideoRenderer.Callbacks localRender,
			final VideoRenderer.Callbacks remoteRender,
			final PeerConnectionEvents events,
			final PeerConnectionParameters peerConnectionParameters) {
		this.peerConnectionParameters = peerConnectionParameters;
		this.events = events;
		videoCallEnabled = peerConnectionParameters.videoCallEnabled;
//
//		PeerConnectionFactory.initializeAndroidGlobals(, true, true,
//				false);
//		factory = new PeerConnectionFactory();

//		if (peerConnectionParameters == null) {
//			Log.e(TAG, "Creating peer connection without initializing factory.");
//			return;
//		}
		this.localRender = localRender;
		this.remoteRender = remoteRender;

		executor.execute(new Runnable() {
			@Override
			public void run() {
				createMediaConstraintsInternal();
//				createPeerConnectionInternal(renderEGLContext, iceServers);
				if(mediaStream == null) {
					mediaStream = factory.createLocalMediaStream("ARDAMS");
					if (videoCallEnabled) {
						String cameraDeviceName = CameraEnumerationAndroid.getDeviceName(0);
						String frontCameraDeviceName =
								CameraEnumerationAndroid.getNameOfFrontFacingDevice();
						if (numberOfCameras > 1 && frontCameraDeviceName != null) {
							cameraDeviceName = frontCameraDeviceName;
						}
						Log.d(TAG, "Opening camera: " + cameraDeviceName);
						videoCapturer = VideoCapturerAndroid.create(cameraDeviceName, null,
								peerConnectionParameters.captureToTexture ? renderEGLContext : null);
						if (videoCapturer == null) {
							reportError("Failed to open camera");
							return;
						}
						mediaStream.addTrack(createVideoTrack(videoCapturer));
					}

					mediaStream.addTrack(factory.createAudioTrack(
							AUDIO_TRACK_ID,
							factory.createAudioSource(audioConstraints)));
				}
				try {
					manager = new Manager(new URI(mHost));
					client = manager.socket("/");
				} catch (URISyntaxException e) {
					e.printStackTrace();
				}
				client
						.on(INIT_MESSAGE, messageHandler.onInitMessage)
						.on(TEXT_MESSAGE, messageHandler.onTextMessage)
//						.on(INVITE_MESSAGE, messageHandler.onInviteMessage)
//						.on(READY_MESSAGE, messageHandler.onReadyMessage)
//						.on(OFFER_MESSAGE, messageHandler.onOfferMessage)
//						.on(ANSWER_MESSAGE, messageHandler.onAnswerMessage)
//						.on(ICE_CANDIDATE_MESSAGE, messageHandler.onCandidateMessage)
						.on(RTC_MESSAGE, messageHandler.onRtcMessage)
						.on(LEAVE_MESSAGE, messageHandler.onLeaveMessage)
						.on(AVAILABLE_USERS_MESSAGE, messageHandler.onAvailablePeersMessage)
						.on(PRESENCE_MESSAGE, messageHandler.onPresenceMessage);
				client.connect();
			}
		});

	}
 
开发者ID:ardnezar,项目名称:webrtc-android,代码行数:73,代码来源:PeerConnectionClient.java

示例5: createVideoTrack

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
private VideoTrack createVideoTrack(VideoCapturerAndroid capturer) {
	videoSource = factory.createVideoSource(capturer, videoConstraints);

	localVideoTrack = factory.createVideoTrack(VIDEO_TRACK_ID, videoSource);
	localVideoTrack.setEnabled(renderVideo);
	localVideoTrack.addRenderer(new VideoRenderer(localRender));
	return localVideoTrack;
}
 
开发者ID:ardnezar,项目名称:webrtc-android,代码行数:9,代码来源:PeerConnectionClient.java

示例6: createVideoCapturer

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
/**
 * Creates a instance of VideoCapturerAndroid.
 * @return VideoCapturerAndroid
 */
private VideoCapturerAndroid createVideoCapturer() {
    switch (mOption.getVideoType()) {
        default:
        case NONE:
            return null;
        case CAMERA:
            return createCameraCapture();
        case EXTERNAL_RESOURCE:
            return createExternalResource();
    }
}
 
开发者ID:DeviceConnect,项目名称:DeviceConnect-Android,代码行数:16,代码来源:MediaStream.java

示例7: createVideoTrack

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
/**
 * Creates a instance of VideoTrack to used in a VideoCapturerAndroid.
 * @param capturer Instance of VideoCapturerAndroid
 * @return VideoTrack
 */
private VideoTrack createVideoTrack(final VideoCapturerAndroid capturer) {
    mVideoRender = mOption.getRender();
    mVideoSource = mFactory.createVideoSource(capturer, mVideoConstraints);
    mVideoTrack = mFactory.createVideoTrack(VIDEO_TRACK_ID, mVideoSource);
    mVideoTrack.setEnabled(mEnableVideo);
    mVideoTrack.addRenderer(new VideoRenderer(mVideoRender));
    return mVideoTrack;
}
 
开发者ID:DeviceConnect,项目名称:DeviceConnect-Android,代码行数:14,代码来源:MediaStream.java

示例8: startCapture

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
@Override
public void startCapture(final int width, final int height, final int frameRate,
                         final Context applicationContext,
                         final VideoCapturerAndroid.CapturerObserver frameObserver) {
    if (DEBUG) {
        Log.i(TAG, "@@@ startCapture size:[" + width + ", " + height
                + "] frameRate:" + frameRate);
    }

    mSurfaceHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
    mSurface = new Surface(mSurfaceHelper.getSurfaceTexture());

    mRequestWidth = width;
    mRequestHeight = height;
    mFrameObserver = frameObserver;

    if (mClient != null) {
        mClient.stop();
        mClient = null;
    }

    mClient = new MixedReplaceMediaClient(mUri);
    mClient.setOnMixedReplaceMediaListener(mOnMixedReplaceMediaListener);
    mClient.start();
}
 
开发者ID:DeviceConnect,项目名称:DeviceConnect-Android,代码行数:26,代码来源:VideoCapturerExternalResource.java

示例9: getVideoCapturer

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
private VideoCapturer getVideoCapturer() {
    String frontCameraDeviceName = CameraEnumerationAndroid.getDeviceName(0);
    return VideoCapturerAndroid.create(frontCameraDeviceName);
}
 
开发者ID:ardnezar,项目名称:webrtc-android,代码行数:5,代码来源:WebRtcClient.java

示例10: onCreate

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
    audioManager.setSpeakerphoneOn(true);

    PeerConnectionFactory.initializeAndroidGlobals(
            this,  // Context
            true,  // Audio Enabled
            true,  // Video Enabled
            true,  // Hardware Acceleration Enabled
            null); // Render EGL Context

    peerConnectionFactory = new PeerConnectionFactory();

    VideoCapturerAndroid vc = VideoCapturerAndroid.create(VideoCapturerAndroid.getNameOfFrontFacingDevice(), null);

    localVideoSource = peerConnectionFactory.createVideoSource(vc, new MediaConstraints());
    VideoTrack localVideoTrack = peerConnectionFactory.createVideoTrack(VIDEO_TRACK_ID, localVideoSource);
    localVideoTrack.setEnabled(true);

    AudioSource audioSource = peerConnectionFactory.createAudioSource(new MediaConstraints());
    AudioTrack localAudioTrack = peerConnectionFactory.createAudioTrack(AUDIO_TRACK_ID, audioSource);
    localAudioTrack.setEnabled(true);

    localMediaStream = peerConnectionFactory.createLocalMediaStream(LOCAL_STREAM_ID);
    localMediaStream.addTrack(localVideoTrack);
    localMediaStream.addTrack(localAudioTrack);

    GLSurfaceView videoView = (GLSurfaceView) findViewById(R.id.glview_call);

    VideoRendererGui.setView(videoView, null);
    try {
        otherPeerRenderer = VideoRendererGui.createGui(0, 0, 100, 100, VideoRendererGui.ScalingType.SCALE_ASPECT_FILL, true);
        VideoRenderer renderer = VideoRendererGui.createGui(50, 50, 50, 50, VideoRendererGui.ScalingType.SCALE_ASPECT_FILL, true);
        localVideoTrack.addRenderer(renderer);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:Nitrillo,项目名称:krankygeek,代码行数:45,代码来源:MainActivity.java

示例11: createLocalMediaStream

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
void createLocalMediaStream(Object renderEGLContext,final VideoRenderer.Callbacks localRender) {
    if (factory == null) {
        Log.e(TAG, "Peerconnection factory is not created");
        return;
    }
    this.localRender = localRender;
    if (videoCallEnabled) {
        factory.setVideoHwAccelerationOptions(renderEGLContext, renderEGLContext);
    }

    // Set default WebRTC tracing and INFO libjingle logging.
    // NOTE: this _must_ happen while |factory| is alive!
    Logging.enableTracing("logcat:", EnumSet.of(Logging.TraceLevel.TRACE_DEFAULT), Logging.Severity.LS_INFO);

    localMediaStream = factory.createLocalMediaStream("ARDAMS");

    // If video call is enabled and the device has camera(s)
    if (videoCallEnabled && numberOfCameras > 0) {
        String cameraDeviceName; // = CameraEnumerationAndroid.getDeviceName(0);
        String frontCameraDeviceName = CameraEnumerationAndroid.getNameOfFrontFacingDevice();
        String backCameraDeviceName = CameraEnumerationAndroid.getNameOfBackFacingDevice();

        // If current camera is set to front and the device has one
        if (currentCameraPosition==NBMCameraPosition.FRONT && frontCameraDeviceName!=null) {
            cameraDeviceName = frontCameraDeviceName;
        }
        // If current camera is set to back and the device has one
        else if (currentCameraPosition==NBMCameraPosition.BACK && backCameraDeviceName!=null) {
            cameraDeviceName = backCameraDeviceName;
        }
        // If current camera is set to any then we pick the first camera of the device, which
        // should be a back-facing camera according to libjingle API
        else {
            cameraDeviceName = CameraEnumerationAndroid.getDeviceName(0);
            currentCameraPosition = NBMCameraPosition.BACK;
        }

        Log.d(TAG, "Opening camera: " + cameraDeviceName);
        videoCapturer = VideoCapturerAndroid.create(cameraDeviceName, null);
        if (videoCapturer == null) {
            Log.d(TAG, "Error while opening camera");
            return;
        }
        localMediaStream.addTrack(createCapturerVideoTrack(videoCapturer));
    }

    // Create audio track
    localMediaStream.addTrack(factory.createAudioTrack(AUDIO_TRACK_ID, factory.createAudioSource(audioConstraints)));

    Log.d(TAG, "Local media stream created.");
}
 
开发者ID:nubomedia-vtt,项目名称:webrtcpeer-android,代码行数:52,代码来源:MediaResourceManager.java

示例12: switchCamera

import org.webrtc.VideoCapturerAndroid; //导入依赖的package包/类
@Override
public void switchCamera(VideoCapturerAndroid.CameraSwitchHandler cameraSwitchHandler) {
    if (DEBUG) {
        Log.e(TAG, "switchCamera:");
    }
}
 
开发者ID:DeviceConnect,项目名称:DeviceConnect-Android,代码行数:7,代码来源:VideoCapturerExternalResource.java


注:本文中的org.webrtc.VideoCapturerAndroid类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。