Guest User

Untitled

a guest
May 20th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using NatCamU.Core;
  6. using NatCorderU.Core;
  7.  
  8. public class NatCamCorder : MonoBehaviour {
  9.  
  10. public RawImage rawImage;
  11. public AspectRatioFitter fitter;
  12.  
  13. void Start () {
  14. NatCam.Play(DeviceCamera.RearCamera);
  15. NatCam.OnStart += OnStart;
  16. NatCam.OnFrame += OnFrame;
  17. }
  18.  
  19. void Update () {
  20. // Toggle recording on a double-tap
  21. foreach (var touch in Input.touches)
  22. if (touch.phase == TouchPhase.Ended && touch.tapCount == 2)
  23. if (!NatCorder.IsRecording)
  24. NatCorder.StartRecording(new Configuration(NatCam.Preview.width, NatCam.Preview.height), OnVideo);
  25. else
  26. NatCorder.StopRecording();
  27. }
  28.  
  29.  
  30. #region --Callbacks--
  31.  
  32. void OnStart () {
  33. rawImage.texture = NatCam.Preview;
  34. fitter.aspectRatio = NatCam.Preview.width / (float)NatCam.Preview.height;
  35. }
  36.  
  37. void OnFrame () {
  38. if (NatCorder.IsRecording) {
  39. var frame = NatCorder.AcquireFrame();
  40. Graphics.Blit(NatCam.Preview, frame);
  41. NatCorder.CommitFrame(frame);
  42. }
  43. }
  44.  
  45. void OnVideo (string path) {
  46. Handheld.PlayFullScreenMovie(path);
  47. }
  48. #endregion
  49. }
Add Comment
Please, Sign In to add comment