0

我正在尝试创建一个可以同时播放多个 MP3 文件的音频播放器。我认为我需要 BASSMIX 插件。我正在使用来自 un4seen 站点的代码示例。

它看起来像这样:

Imports System
Imports Un4seen.Bass
Imports Un4seen.Bass.AddOn.Mix

剪辑

    Shared Sub MixMeNow()
        Try


            Dim mixerStream As Integer = BassMix.BASS_Mixer_StreamCreate(44100, 2, BASSFlag.BASS_SAMPLE_FLOAT)
            Debug.Print("MIXER STREAM: {0}", Bass.BASS_ErrorGetCode())

            ' now we need some source channels (must be decoding)
            Dim streamA As Integer = Bass.BASS_StreamCreateFile("KOUD-HE.mp3", 0, 0,
                                                BASSFlag.BASS_STREAM_DECODE Or BASSFlag.BASS_SAMPLE_FLOAT)
            Debug.Print("STREAM A: {0}", Bass.BASS_ErrorGetCode())
            Dim streamB As Integer = Bass.BASS_StreamCreateFile("Jij bent Zo.mp3", 0, 0,
                                               BASSFlag.BASS_STREAM_DECODE Or BASSFlag.BASS_SAMPLE_FLOAT)
            Debug.Print("STREAM B: {0}", Bass.BASS_ErrorGetCode())

            ' finally we plug them into the mixer
            BassMix.BASS_Mixer_StreamAddChannel(mixerStream, streamA,
                               BASSFlag.BASS_STREAM_AUTOFREE Or BASSFlag.BASS_MIXER_DOWNMIX)
            Debug.Print("STREAM A TO MIX: {0}", Bass.BASS_ErrorGetCode())


            BassMix.BASS_Mixer_StreamAddChannel(mixerStream, streamB,
                                BASSFlag.BASS_STREAM_AUTOFREE Or BASSFlag.BASS_MIXER_DOWNMIX)
            Debug.Print("STREAM B TO MIX: {0}", Bass.BASS_ErrorGetCode())

            ' and play the mixer channel
            Bass.BASS_ChannelPlay(mixerStream, False)
            Debug.Print("PLAY: {0}", Bass.BASS_ErrorGetCode())

        Catch ex As Exception
            Debug.Print("Anything else....")
        End Try
    End Sub

接着:

与原始示例相比,我唯一改变的是我添加了一个 try/catch,并将错误代码回显到控制台:

Debug.Print("STREAM A: {0}", Bass.BASS_ErrorGetCode())

我认为这很简单,但是......输出是:

MIXER STREAM: BASS_OK
STREAM A: BASS_ERROR_INIT
STREAM B: BASS_ERROR_INIT
STREAM A TO MIX: BASS_ERROR_HANDLE
STREAM B TO MIX: BASS_ERROR_HANDLE
PLAY: BASS_ERROR_HANDLE

我已经验证该应用程序可以找到它需要播放的文件。那么我不断收到 INIT 错误是怎么回事?

4

0 回答 0