本地优化
This commit is contained in:
@@ -14,7 +14,7 @@ using CameraType = Unity.XR.XREAL.CameraType;
|
||||
using GalleryDataProvider = Unity.XR.XREAL.MockGalleryDataProvider;
|
||||
#endif
|
||||
|
||||
public class XrealMixedRecorder : IVideoRecorder, IController
|
||||
public class XrealMixedRecorder : IVideoRecorder, IController , IDisposable
|
||||
{
|
||||
public enum ResolutionLevel
|
||||
{
|
||||
@@ -25,7 +25,7 @@ public class XrealMixedRecorder : IVideoRecorder, IController
|
||||
|
||||
public ResolutionLevel resolutionLevel = ResolutionLevel.High;
|
||||
public BlendMode blendMode = BlendMode.Blend;
|
||||
public AudioState audioState = AudioState.MicAudio;
|
||||
public AudioState audioState = AudioState.ApplicationAndMicAudio;
|
||||
public CaptureSide captureside = CaptureSide.Single;
|
||||
public bool useGreenBackGround = false;
|
||||
|
||||
@@ -82,7 +82,7 @@ public class XrealMixedRecorder : IVideoRecorder, IController
|
||||
}
|
||||
|
||||
Debug.Log("Stop Video Capture!");
|
||||
_videoCapture.StopRecordingAsync(OnStoppedRecordingVideo);
|
||||
_videoCapture.StopRecordingAsync(OnStoppedVideoCaptureMode);
|
||||
}
|
||||
|
||||
/// <summary> Executes the 'stopped recording video' action. </summary>
|
||||
@@ -103,6 +103,11 @@ public class XrealMixedRecorder : IVideoRecorder, IController
|
||||
/// <param name="result"> The result.</param>
|
||||
private async void OnStoppedVideoCaptureMode(XREALVideoCapture.VideoCaptureResult result)
|
||||
{
|
||||
if (!result.success)
|
||||
{
|
||||
Debug.Log("Stopped Recording Video Faild!");
|
||||
return;
|
||||
}
|
||||
Debug.Log("Stopped Video Capture Mode!");
|
||||
|
||||
var encoder = _videoCapture.GetContext().GetEncoder() as VideoEncoder;
|
||||
@@ -114,8 +119,6 @@ public class XrealMixedRecorder : IVideoRecorder, IController
|
||||
await DelayInsertVideoToGallery(path, filename, "Record");
|
||||
OnStoppedRecordingVideoAction?.Invoke(path);
|
||||
// Release video capture resource.
|
||||
_videoCapture.Dispose();
|
||||
_videoCapture = null;
|
||||
}
|
||||
|
||||
/// <summary> 延迟将视频插入相册,确保视频文件已完全写入 </summary>
|
||||
@@ -235,4 +238,19 @@ public class XrealMixedRecorder : IVideoRecorder, IController
|
||||
{
|
||||
return MainArchitecture.Interface;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_videoCapture.StopVideoModeAsync((result) =>
|
||||
{
|
||||
if (!result.success)
|
||||
{
|
||||
Debug.Log("Stopped Video Capture Mode faild!");
|
||||
return;
|
||||
}
|
||||
_videoCapture?.Dispose();
|
||||
_videoCapture = null;
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user