我正在尝试创建一个可以同时播放多个 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 错误是怎么回事?