Imports NAudio.Wave
Imports System.IO
Imports System.Windows.Forms
Public Class Form1
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'开文件对话框,选择单个音频文件
Dim ofd As New OpenFileDialog() With {
.Multiselect = False} '改为只能选择单个文件
ofd.Filter = "Audio Files|*.mp3;*.wav;*.wma"
If ofd.ShowDialog() = DialogResult.OK Then
'选中的单个文件添加到列表框
ListBoxFiles.Items.Add(ofd.FileName)
End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
' 检查列表框中是否有文件
If ListBoxFiles.Items.Count = 0 Then
MessageBox.Show("请先打开一些音频文件。")
Return
End If
' 创建一个WaveFileWriter来保存合并后的音频
Dim saveFileDialog As New SaveFileDialog() With {
.Filter = "WAV Files|*.wav"
}
If saveFileDialog.ShowDialog() = DialogResult.OK Then
Using writer As New WaveFileWriter(saveFileDialog.FileName, New WaveFormat(44100, 16, 2))
' 逐个读取并合并音频文件
For Each file As String In ListBoxFiles.Items
Using reader As New WaveFileReader(file)
' 将音频数据复制到WaveFileWriter
reader.CopyTo(writer)
End Using
Next
End Using
MessageBox.Show("音频文件合并完成!")
End If
End Sub
End Class