Невозможно заставить списки работать без следующего цикла, чтобы он вел себя так, как я хочу - PullRequest
0 голосов
/ 03 июля 2019

Попытка смешать различные аудиофайлы в один

Я записал вот так

lstOfReaderOBJs.Add(Reader1(0))
lstOfReaderOBJs.Add(Reader1(1))
lstOfReaderOBJs.Add(Reader1(2))

, но я хочу поместить его в следующий цикл, чтобы иметь переменную величину вниз последовательно, NumberOfAudioFiles

 Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click

        Dim NumberOfAudioFiles As Integer = 2
        Dim Reader1(NumberOfAudioFiles) As AudioFileReader
        Reader1(0) = New AudioFileReader("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\0-3.wav")
        Reader1(1) = New AudioFileReader("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\4-3.wav")
        Reader1(2) = New AudioFileReader("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\7-3.wav")
        Dim lstOfReaderOBJs As New List(Of AudioFileReader)
        For I = 0 To NumberOfAudioFiles
            lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles))
            'lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles))
            'lstOfReaderOBJs.Add(Reader1(NumberOfAudioFiles))
        Next

        Dim mixer = New MixingWaveProvider32(lstOfReaderOBJs)
        WaveFileWriter.CreateWaveFile("C:\Users\Server\Desktop\Singing Stuff\Piano Tones\Wav\mixed.wav", mixer)
    End Sub

Когда я помещаю lstOfReaderOBJs.Add (Reader1 (NumberOfAudioFiles)) в цикл for next, я получаю в списке только один ReaderObject и является последним вместо всех трех из них.

1 Ответ

1 голос
/ 03 июля 2019

Просто используйте переменную цикла I следующим образом:

For I = 0 To NumberOfAudioFiles
    lstOfReaderOBJs.Add(Reader1(I))
Next
...