public override void ViewDidLoad() { base.ViewDidLoad(); Opentok.Base.otc_init(); publisher = new OTGLVideoRender(new RectangleF(0, 0, 320, 240)); subscriber = new OTGLVideoRender(new RectangleF(0, 240, 320, 240)); sessCb = new Session.otc_session_cb(); sessCb.on_connected = on_connected_cb; sessCb.on_stream_received = on_stream_received_cb; sessCb.userData = (IntPtr)GCHandle.Alloc(this); sess = Opentok.Session.otc_session_new(API_KEY, SESSION_ID, ref sessCb); Opentok.Session.otc_session_connect(sess, TOKEN); publisher.BackgroundColor = UIColor.Red; subscriber.BackgroundColor = UIColor.Yellow; View.AddSubview(publisher); View.AddSubview(subscriber); toggleButton = new UIButton(new RectangleF(0, 480, 320, 100)); toggleButton.SetTitle("Toggle Camera", UIControlState.Normal); toggleButton.TouchUpInside += (object sender, EventArgs e) => Opentok.iOS.VideoCapturer.video_capturer_toggle_camera_position(capturer); View.AddSubview(toggleButton); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); Java.Lang.JavaSystem.LoadLibrary("opentok"); Opentok.Base.otc_init(this.Handle); SetContentView(Resource.Layout.Main); publisherView = FindViewById <DefaultVideoRenderer> (Resource.Id.publisherView); subscriberView = FindViewById <DefaultVideoRenderer> (Resource.Id.subscriberView); sessCb = new Session.otc_session_cb(); sessCb.on_connected = on_connected_cb; sessCb.on_stream_received = on_stream_received_cb; sess = Opentok.Session.otc_session_new(API_KEY, SESSION_ID, ref sessCb); Opentok.Session.otc_session_connect(sess, TOKEN); Button button = FindViewById <Button> (Resource.Id.myButton); button.Click += delegate { Opentok.Android.VideoCapturer.otc_video_capturer_toggle_camera_position(otcapturer); }; }