If Not (udtEnumFilters Is Nothing) Then Do While udtEnumFilters.Next(1, objBaseFilter) = CLng(1) If IsEqualGUID(objBaseFilter.ClassID, UUIDFromString(CLSID_DCDSPFilter)) Then Set m_clsDCDSPFilterControl.Object = objBaseFilter Set m_clsDCDSPFilterVisual.Object = m_clsDCDSPFilterControl.Object m_clsDCDSPFilterControl.DisableSaving = True m_clsDCDSPFilterControl.RemoveAllFilters Call m_clsDCDSPFilterControl.AddFilter(CLng(-1), ftPitchScale) Call m_clsDCDSPFilterControl.AddFilter(CLng(-1), ftChannelOrder) Set m_clsDCPitchScale.Object = m_clsDCDSPFilterControl.FilterInterface(0) Set m_clsDCChannelOrder.Object = m_clsDCDSPFilterControl.FilterInterface(1) m_clsDCChannelOrder.Enabled = True Exit Do End If Loop End If
再用我下面的FUNCTION:
Public Sub ChangeChannel(x As Integer) If Not (m_clsDCChannelOrder.Object Is Nothing) Then If x = 0 Then '雙聲道 m_clsDCChannelOrder.Order(0) = 0 m_clsDCChannelOrder.Order(1) = 1 ElseIf x = 1 Then '左聲道 m_clsDCChannelOrder.Order(0) = 0 m_clsDCChannelOrder.Order(1) = 0 ElseIf x = 2 Then '右聲道 m_clsDCChannelOrder.Order(0) = 1 m_clsDCChannelOrder.Order(1) = 1 End If End If End Sub