IUVCDrawer.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * Copyright (c) 2014 - 2022 t_saki@serenegiant.com
  3. */
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. namespace Serenegiant.UVC
  8. {
  9. /**
  10. * UVC関係のイベントハンドリングインターフェース
  11. */
  12. public interface IUVCDrawer
  13. {
  14. /**
  15. * UVC機器が接続された
  16. * @param manager 呼び出し元のUVCManager
  17. * @param device 接続されたUVC機器情報
  18. * @return true: UVC機器を使う, false: UVC機器を使わない
  19. */
  20. bool OnUVCAttachEvent(UVCManager manager, UVCDevice device);
  21. /**
  22. * UVC機器が取り外された
  23. * @param manager 呼び出し元のUVCManager
  24. * @param device 接続されたUVC機器情報
  25. */
  26. void OnUVCDetachEvent(UVCManager manager, UVCDevice device);
  27. /**
  28. * IUVCDrawerが指定したUVC機器の映像を描画できるかどうかを取得
  29. * @param manager 呼び出し元のUVCManager
  30. * @param device 接続されたUVC機器情報
  31. */
  32. bool IsUVCEnabled(UVCManager manager, UVCDevice device);
  33. /**
  34. * UVC機器からの映像取得を開始した
  35. * @param manager 呼び出し元のUVCManager
  36. * @param device 接続されたUVC機器情報
  37. * @param tex UVC機器からの映像を受け取るTextureオブジェクト
  38. */
  39. void OnUVCStartEvent(UVCManager manager, UVCDevice device, Texture tex);
  40. /**
  41. * UVC機器からの映像取得を終了した
  42. * @param manager 呼び出し元のUVCManager
  43. * @param device 接続されたUVC機器情報
  44. */
  45. void OnUVCStopEvent(UVCManager manager, UVCDevice device);
  46. /**
  47. * IUVCDrawerが指定したUAC機器の音声を取得できるかどうかを取得
  48. * @param manager 呼び出し元のUVCManager
  49. * @param device 接続されたUAC機器情報
  50. */
  51. bool IsUACEnabled(UVCManager manager, UVCDevice device);
  52. /**
  53. * UAC機器からの音声取得を開始した
  54. * @param manager 呼び出し元のUVCManager
  55. * @param device 接続されたUVC機器情報
  56. * @param audioClip UAC機器からの音声を受け取るAudioClipオブジェクト
  57. */
  58. void OnUACStartEvent(UVCManager manager, UVCDevice device, AudioClip audioClip);
  59. /**
  60. * UAC機器からの音声取得を終了した
  61. * @param manager 呼び出し元のUVCManager
  62. * @param device 接続されたUVC機器情報
  63. */
  64. void OnUACStopEvent(UVCManager manager, UVCDevice device);
  65. } // interface IUVCDrawer
  66. } // namespace Serenegiant.UVC