Files
wwdpublic/Content.Server/_White/TTS/TTSSystem.Cache.cs
Spatison 3b0dadc0d4 [Fix] TTS (#139)
* Revert "[Fix] TTS (#137)"

This reverts commit c5bd6b70a2.

* Revert "[Fix] Исправление ТТСа (#136)"

This reverts commit 3759acb84e.

* Revert "[Port] TTS (#121)"

This reverts commit 0db8f3aaa4.

* new TTS

* new TTS

* new TTS

* new TTS

* fix
2024-12-06 08:49:32 +02:00

38 lines
1.1 KiB
C#

using System.Threading.Tasks;
using Content.Shared._White.TTS;
using Robust.Shared.ContentPack;
using Robust.Shared.Utility;
namespace Content.Server._White.TTS;
// ReSharper disable once InconsistentNaming
public sealed partial class TTSSystem
{
[Dependency] private readonly IResourceManager _resourceManager = default!;
private ResPath GetCacheId(TTSVoicePrototype voicePrototype, string cacheId)
{
var resPath = new ResPath($"voicecache/{voicePrototype.ID}/{cacheId}.ogg").ToRootedPath();
_resourceManager.UserData.CreateDir(resPath.Directory);
return resPath.ToRootedPath();
}
private async Task<byte[]?> GetFromCache(ResPath resPath)
{
if (!_resourceManager.UserData.Exists(resPath))
{
return null;
}
await using var reader = _resourceManager.UserData.OpenRead(resPath);
return reader.CopyToArray();
}
private async Task SaveVoiceCache(ResPath resPath, byte[] data)
{
await using var writer = _resourceManager.UserData.OpenWrite(resPath);
await writer.WriteAsync(data);
}
}