Как установить обратный вызов для конца песни / файла с басом? - PullRequest
3 голосов
/ 15 февраля 2010

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

1 Ответ

3 голосов
/ 15 февраля 2010

Это не C #, но вот код VB.Net, который вы сможете конвертировать достаточно просто:

Настройка обратного вызова

' Mixer handle to the bass synch callback when the current track in the mixer ends
Private m_MixerSynchProc As Un4seen.Bass.SYNCPROC
Private m_MixerSyncHandle As Int32 = 0

' Create a new callback for when the current track in the mixer has ended
m_MixerSynchProc = New Un4seen.Bass.SYNCPROC(AddressOf CurrentTrackEnded)

m_MixerSyncHandle = Bass.BASS_ChannelSetSync(m_MixerHandle, Un4seen.Bass.BASSSync.BASS_SYNC_END Or Un4seen.Bass.BASSSync.BASS_SYNC_MIXTIME, 0, m_MixerSynchProc, 0)

Подпрограмма делегата, которую BASS вызовет, когда закончится трек

' Mixer sync proc callback for when the current track has ended
Private Sub CurrentTrackEnded(ByVal MixerHandle As Int32, ByVal Channel As Int32, ByVal Data As Int32, ByVal User As IntPtr)
    ' Do stuff here when the track ends
End Sub
...