Member 14228878 Ответов: 1

Wav файл не открывается после его сохранения с помощью savefiledialogue


I'm supposed to explore ways to record audio files and save it in vb.net. One of the methods i found is using "winmm.dll", the code works fine, the sound is recorded as it should be and previewed, but after saving it through SaveFileDialogue and opening it, i get the message "can't render file" or "unsupported file format" or "corrupted" on my Mediaplayers applications.

The files saved as .wav.

Is it a directory error or what?


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

Диктофон Открытый Класс
Dim soundrecord как объект
Частные заявляют функция mciSendString Либ "winmm.dll" псевдоним "mciSendStringA" (lpstrCommand бывал, как струна, lpstrReturnString бывал, как струна, uReturnLength бывал как целое, hwndCallback бывал как целое) Как Целое Число
Private Sub SoundRecorder_Load(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает MyBase.Load

Конец Подводной Лодки
Button6_Click отдельный Саб(как byval отправителя как системы.Объект, бывал е как система.EventArgs) Обрабатывает Button6.Click
Меня.Распоряжаться()
Конец Подводной Лодки

Private Sub button1_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Button1.Щелчок
кнопка 1.Включено = Ложь
элемент button2.Включен = Истина
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0)
mciSendString("record recsound", "", 0, 0)
Этикетка 1.Текст = "Запись..."
Метка1.Видимое = Истинное
Конец Подводной Лодки

Private Sub button2_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Button2.Click
кнопка 1.Включен = Истина
элемент button2.Включен = Ложь
кнопки button3.Включен = Истина
mciSendString("save recsound soundrecord", "", 0, 0)
mciSendString("close recsound", "", 0, 0)
Этикетка 1.Текст = "Остановлено..."
Метка1.Видна = Ложь
Мой.Компьютер.Аудио.Стоп()
Конец Подводной Лодки

Private Sub button3_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Button3.Щелчок
кнопка 1.Включено = Ложь
элемент button2.Включен = Ложь
кнопки button3.Включен = Ложь
button4.Включен = Истина
Этикетка 1.Текст = "Играю..."
Метка1.Видимое = Истинное
Мой.Компьютер.Аудио.Воспроизведение ("soundrecord", AudioPlayMode.Фон)
Конец Подводной Лодки

Private Sub button4_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Button4.Щелчок
Мой.Компьютер.Аудио.Стоп()
кнопка 1.Включен = Истина
элемент button2.Включен = Ложь
кнопки button3.Включен = Ложь
button4.Включен = Ложь
Этикетка 1.Text = "Остановлено"
Метка1.Видна = Ложь
Конец Подводной Лодки

Private Sub button5_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Button5.Щелчок
Dim saveFileDialog1 как новый SaveFileDialog
Дим mystream "стрим"
saveFileDialog1.Фильтр = "файлы WAV (*.формате WAV)|*.в формате WAV|все файлы (*.*)|*.*"
saveFileDialog1.FilterIndex = 2
saveFileDialog1.RestoreDirectory = True

Если saveFileDialog1.ShowDialog() = DialogResult.Тогда ладно
mystream = saveFileDialog1.Функция openfile()
mystream.Equals(soundrecord)
mystream.рядом()
Этикетка 1.Text = "Сохранено"
Метка1.Видна = Ложь
Конец, Если


Конец Подводной Лодки
End Класса

1 Ответов

Рейтинг:
0

Richard MacCutchan

mystream.Equals(soundrecord)
mystream.close()

Где находится код, который записывает данные потока в файл?


Member 14228878

я проводил исследования о том, как записывать звук с помощью vb.net и я хотел включить это в качестве примера, я не писал его сам
я сделал некоторые поиски и обнаружил, что мне нужно создать байтовый массив для потока, но это было ошеломляюще, так как у меня есть только базовые знания о потоке. vb.net

Richard MacCutchan

Тогда ваше время было бы лучше потратить на изучение языка более подробно. Начните с нескольких простых проектов, которые сначала научат вас основам.

Member 14228878

У меня нет никакого интереса к обучению vb.net-да. Как я уже сказал, это часть исследовательской задачи, которую нам дали, и я разберусь с ней без этого кода.
Спасибо за ответ ♥

Richard MacCutchan

Цитата:Я должен исследовать способы записи аудиофайлов и сохранения их в vb.net.

Member 14228878

И Я ЭТО СДЕЛАЛ, Я ИСКАЛ ЧАСАМИ ПОСЛЕДНИЕ 3 ДНЯ, ЧТОБЫ УЗНАТЬ. Курс называется языки программирования, он не фокусируется на определенном языке.
От нас не требовалось никакого реального кодирования, но я хотел приложить дополнительные усилия, чтобы получить хорошую оценку. я думаю, что просто пойду с функциями воспроизведения, остановки, записи.
В любом случае спасибо