Ranjeeth Kumar Vootukuri Ответов: 2

Как создать файл типа wav с байтами


Привет всем, я пытаюсь творить .аудиофайл типа wav с байтами, на самом деле у меня есть файл формата .m4a, я читаю файл в байты, а затем создаю другой файл формата. wav с нижеприведенным кодом
var bytes = File.ReadAllBytes(Server.MapPath("Audios/Breakfast.m4a"));      
        using (FileStream fs = File.Create(@"C:\Docs\myFile.wav"))
            {
                fs.Write(bytes, 0, bytes.Length);
            }

и файл создается, но не может воспроизводиться. если я попытаюсь прочитать созданный файл (myFile. wav) с помощью библиотеки dll Naudio с приведенным ниже кодом
var myReader = new WaveFileReader(@"C:\Docs\myFile.wav");

это показывает ниже Сообщение об ошибке
Система.FormatException: Not a WAVE file-no RIFF header
вот как я могу творить .wav-файлы без каких-либо проблем с использованием байтов ?
ТИА

Что я уже пробовал:

var bytes = File.ReadAllBytes(Server.MapPath("Audios/Breakfast.m4a"));     
       using (FileStream fs = File.Create(@"C:\Docs\myFile.wav"))
           {
               fs.Write(bytes, 0, bytes.Length);
           }

2 Ответов

Рейтинг:
2

OriginalGriff

Это не сработает.
Изменение расширения файла не влияет на данные - информация в файле "myFile.wav" идентична информации в файле "Breakfast.m4a". Это означает, что это допустимый файл M4A, но недопустимый wav - файл, поэтому считыватель WAV-файлов не может его обработать.
Это немного похоже на то, как вы снимаете значки Ford с вашей машины и устанавливаете значки Ferrari - это не обманет никого, думая, что это спортивный автомобиль!

Чтобы изменить файлы m4a на wav, вам нужно изменить формат, что не является тривиальным процессом. Я бы посоветовал вам найти готовый конвертер и использовать его в качестве инструмента командной строки для преобразования.


#realJSOP

Ни один уважающий себя владелец "Форда" никогда бы не надел на свою машину значки "Феррари".

Я думаю, что FFMPEG сделает то, что он хочет.

Рейтинг:
0

CDP1802

Вы не можете просто сбросить несколько байтов в файл и ожидать, что они волшебным образом станут чем-то другим.

Проведите некоторое исследование формата исходных данных (M4A) и формата назначения (WAV), узнайте, как извлечь необработанные аудиоданные из источника, преобразовать их и затем записать допустимый файл в формате назначения.

Вот ссылка на некоторую информацию о формате WAV: Волна риффа – Википедия[^]


#realJSOP

"Вы не можете просто сбросить несколько байтов в файл и ожидать, что они волшебным образом станут чем-то другим."

Хиллари Клинтон, похоже, справится...

[no name]

На этот раз ваше избрание стало выбором между Сциллой и Харибдой.