Вам нужно использовать класс Assembly и метод GetManifestResourceStream. Например, чтобы получить поток данных для встроенного ресурса с именем mainVoice.mp3, вы можете использовать следующий код:
Assembly assembly = Assembly.LoadFrom(@"путь к скомпилированному файлу");
Stream stream = assembly.GetManifestResourceStream("mainVoice.mp3");
После этого можно использовать поток данных для чтения ресурса, например, с помощью класса StreamReader или скопировать его в массив байтов с помощью метода ReadBytes.
Важно указать имя ресурса с учетом того, что он может быть вложен в папку ресурсов. Например: (folder/resource) Resources/mainVoice.mp3 -> Resources.mainVoice.mp3.
После того, как вы получили поток данных для ресурса, вы можете использовать его для чтения ресурса или скопировать его в массив байтов.
Чтобы скопировать поток в массив байтов:
using (MemoryStream memoryStream = new MemoryStream())
{
stream.CopyTo(memoryStream);
byte[] resourceBytes = memoryStream.ToArray();
}
Кстати нужно будет обработать исключения, так как операция чтения может завершиться с ошибкой.
Также можно использовать класс StreamReader для чтения ресурса из потока данных. Например, чтобы считать ресурс как текстовую строку:
using (StreamReader reader = new StreamReader(stream))
{
string resourceText = reader.ReadToEnd();
}