mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-02-13 13:21:37 +00:00
Improved logging
This commit is contained in:
parent
d7bfd52773
commit
9415809d08
@ -16,6 +16,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
[Inject]
|
[Inject]
|
||||||
private RustService RustService { get; init; } = null!;
|
private RustService RustService { get; init; } = null!;
|
||||||
|
|
||||||
|
private uint numReceivedChunks;
|
||||||
private bool isRecording;
|
private bool isRecording;
|
||||||
private FileStream? currentRecordingStream;
|
private FileStream? currentRecordingStream;
|
||||||
private string? currentRecordingPath;
|
private string? currentRecordingPath;
|
||||||
@ -37,7 +38,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
Builder.Create().UseAudio().UseSubtype(AudioSubtype.FLAC).Build()
|
Builder.Create().UseAudio().UseSubtype(AudioSubtype.FLAC).Build()
|
||||||
);
|
);
|
||||||
|
|
||||||
this.Logger.LogInformation("Starting audio recording with preferred MIME types: {PreferredMimeTypes}", string.Join<MIMEType>(", ", mimeTypes));
|
this.Logger.LogInformation("Starting audio recording with preferred MIME types: '{PreferredMimeTypes}'.", string.Join<MIMEType>(", ", mimeTypes));
|
||||||
|
|
||||||
// Create a DotNetObjectReference to pass to JavaScript:
|
// Create a DotNetObjectReference to pass to JavaScript:
|
||||||
this.dotNetReference = DotNetObjectReference.Create(this);
|
this.dotNetReference = DotNetObjectReference.Create(this);
|
||||||
@ -51,7 +52,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
// Store the MIME type for later use:
|
// Store the MIME type for later use:
|
||||||
this.currentRecordingMimeType = actualMimeType;
|
this.currentRecordingMimeType = actualMimeType;
|
||||||
|
|
||||||
this.Logger.LogInformation("Audio recording started with MIME type: {ActualMimeType}", actualMimeType);
|
this.Logger.LogInformation("Audio recording started with MIME type: '{ActualMimeType}'.", actualMimeType);
|
||||||
this.isRecording = true;
|
this.isRecording = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -88,6 +89,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
|
|
||||||
private async Task InitializeRecordingStream()
|
private async Task InitializeRecordingStream()
|
||||||
{
|
{
|
||||||
|
this.numReceivedChunks = 0;
|
||||||
var dataDirectory = await this.RustService.GetDataDirectory();
|
var dataDirectory = await this.RustService.GetDataDirectory();
|
||||||
var recordingDirectory = Path.Combine(dataDirectory, "audioRecordings");
|
var recordingDirectory = Path.Combine(dataDirectory, "audioRecordings");
|
||||||
if (!Directory.Exists(recordingDirectory))
|
if (!Directory.Exists(recordingDirectory))
|
||||||
@ -97,7 +99,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
this.currentRecordingPath = Path.Combine(recordingDirectory, fileName);
|
this.currentRecordingPath = Path.Combine(recordingDirectory, fileName);
|
||||||
this.currentRecordingStream = new FileStream(this.currentRecordingPath, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize: 8192, useAsync: true);
|
this.currentRecordingStream = new FileStream(this.currentRecordingPath, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize: 8192, useAsync: true);
|
||||||
|
|
||||||
this.Logger.LogInformation("Initialized audio recording stream: {RecordingPath}", this.currentRecordingPath);
|
this.Logger.LogInformation("Initialized audio recording stream: '{RecordingPath}'.", this.currentRecordingPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
[JSInvokable]
|
[JSInvokable]
|
||||||
@ -111,6 +113,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
this.numReceivedChunks++;
|
||||||
await this.currentRecordingStream.WriteAsync(chunkBytes);
|
await this.currentRecordingStream.WriteAsync(chunkBytes);
|
||||||
await this.currentRecordingStream.FlushAsync();
|
await this.currentRecordingStream.FlushAsync();
|
||||||
|
|
||||||
@ -139,7 +142,7 @@ public partial class VoiceRecorder : MSGComponentBase
|
|||||||
if (File.Exists(this.currentRecordingPath))
|
if (File.Exists(this.currentRecordingPath))
|
||||||
{
|
{
|
||||||
File.Move(this.currentRecordingPath, newPath, overwrite: true);
|
File.Move(this.currentRecordingPath, newPath, overwrite: true);
|
||||||
this.Logger.LogInformation("Finalized audio recording: {RecordingPath}", newPath);
|
this.Logger.LogInformation("Finalized audio recording over {NumChunks} streamed audio chunks to the file '{RecordingPath}'.", this.numReceivedChunks, newPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user