LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
Balance Property
See Also 
Leadtools.Multimedia Namespace > PlayCtrl Class : Balance Property



Gets or sets the balance value of the audio stream.

Syntax

Visual Basic (Declaration) 
Public Overridable Property Balance As Integer
Visual Basic (Usage)Copy Code
Dim instance As PlayCtrl
Dim value As Integer
 
instance.Balance = value
 
value = instance.Balance
C# 
public virtual int Balance {get; set;}
C++/CLI 
public:
virtual property int Balance {
   int get();
   void set (    int value);
}

Property Value

A value representing the balance.

Example

Visual BasicCopy Code
Public _result As Boolean = False
      Public _form As PlayCtrlForm = New PlayCtrlForm()
      Public _playctrl As PlayCtrl
      Public _seekingCaps As PlaySeeking
      Public _start As TimeSpan = TimeSpan.Zero
      Public Sub HasDialogExample()
         ' reference the play control
         _playctrl = _form.PlayCtrl

         ' input file for playback
         Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi")

         Try
            ' turn off autostart and auto rewind
            _playctrl.AutoStart = False
            _playctrl.AutoRewind = False

            ' set the source file
            _playctrl.SourceFile = inFile

            ' show some media info if available
            ShowMediaInfo()

            ' the HasDialog method tells us that the control
            ' can display the desired settings dialog.
            ' check to see if the video renderer properties dialog is available
            If _playctrl.HasDialog(PlayDlg.VideoRenderer) Then
               ' now show it to change some settings
               _playctrl.ShowDialog(PlayDlg.VideoRenderer, _form)
               _result = True
            End If

            ' get the source object type
            Dim sot As SourceObjectType = _playctrl.SourceType

            ' check some audio properties
            Dim mute As Boolean = _playctrl.Mute
            Dim bal As Integer = _playctrl.Balance
            Dim vol As Integer = _playctrl.Volume

            ' seeking caps - you can use these to enable menu states or toolbar buttons
            _seekingCaps = _playctrl.CheckSeekingCapabilities(PlaySeeking.Forward Or PlaySeeking.Backward)

            ' subscribe to the key press event to demo play functions
            AddHandler _playctrl.KeyPress, AddressOf PlayCtrl_KeyPress

            ' start the capture process
            _playctrl.Run()

            ' we'll loop on the state and pump messages for this example.
            ' but you should not need to if running from a Windows Forms application.
            Do While _playctrl.State = PlayState.Running OrElse _playctrl.State = PlayState.Paused OrElse _playctrl.State = PlayState.NotReady
               Application.DoEvents()
            Loop

            ' call reset source here to release resources
            ' but not necessary if we are just exiting
            _playctrl.ResetSource()
         Catch e1 As Exception
            _result = False
         End Try
      End Sub

      ' state variables for helper timer states
      Public _markedSelStart As Boolean = False
      Public _markedSelEnd As Boolean = False
      Public _seekedSelStart As Boolean = False
      Public _seekedSelEnd As Boolean = False

      ' key press event handler to manage playback functions
      Private Sub PlayCtrl_KeyPress(ByVal sender As Object, ByVal e As Leadtools.Multimedia.KeyPressEventArgs)
         Dim key As Char = CChar(ChrW(e.keyAscii))
         Select Case key
            Case "b"c
               If (Not _markedSelStart) Then
                  _markedSelStart = True
                  _playctrl.MarkSelectionStart()
                  System.Diagnostics.Debug.WriteLine("Mark Selection Start: " & _playctrl.SelectionStart.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
               End If
            Case "e"c
               If (Not _markedSelEnd) Then
                  _markedSelEnd = True
                  _playctrl.Pause()
                  _playctrl.MarkSelectionEnd()
                  System.Diagnostics.Debug.WriteLine("Mark Selection End: " & _playctrl.SelectionEnd.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
                  _playctrl.SeekSelectionStart()
                  _playctrl.Run()
               End If
            Case "s"c
               If (Not _seekedSelStart) Then
                  _seekedSelStart = True
                  System.Diagnostics.Debug.WriteLine("Seek To Selection Start: " & _playctrl.SelectionStart.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
                  _playctrl.SeekSelectionStart()
               End If
            Case "f"c
               ' toggle full screen
               _playctrl.ToggleFullScreenMode()
            Case "+"c
               If _playctrl.State = PlayState.Running Then
                  _playctrl.Pause()
               End If

               _playctrl.NextFrame()
            Case "-"c
               If _playctrl.State = PlayState.Running Then
                  _playctrl.Pause()
               End If

               _playctrl.PreviousFrame()
            Case "z"c
               If (Not _seekedSelEnd) Then
                  ' turn off full screen mode
                  _playctrl.FullScreenMode = False

                  _seekedSelEnd = True
                  System.Diagnostics.Debug.WriteLine("Seek To Selection End: " & _playctrl.SelectionEnd.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
                  _playctrl.SeekSelectionEnd()
               End If
            Case "x"c
               _playctrl.Stop()

         End Select
      End Sub

      Private Sub ShowMediaInfo()
         Dim d As Double = 0
         Dim sa, scr, sd, sr, st As String

         sa = "Unavailable"
         scr = "Unavailable"
         sd = "Unavailable"
         sr = "Unavailable"
         st = "Unavailable"

         Try
            d = _playctrl.FrameDuration
            sa = _playctrl.Author
            scr = _playctrl.Copyright
            sd = _playctrl.Description
            sr = _playctrl.Rating
            st = _playctrl.Title
         Catch e1 As Exception
         End Try

         MessageBox.Show(_form, String.Format("Duration: {0}" & Microsoft.VisualBasic.Constants.vbLf & "Author: {1}" & Microsoft.VisualBasic.Constants.vbLf & "Copyright: {2}" & Microsoft.VisualBasic.Constants.vbLf & "Desc: {3}" & Microsoft.VisualBasic.Constants.vbLf & "Rating: {4}" & Microsoft.VisualBasic.Constants.vbLf & "Title: {5}" & Microsoft.VisualBasic.Constants.vbLf, d, sa, scr, sd, sr, st), "Media Info")
      End Sub

      Private Sub SelectedOptions()
         _playctrl.SeekStart()
         _playctrl.SeekEnd()
         Dim te As Integer = _playctrl.TrackingSelectionEnd
         Dim ts As Integer = _playctrl.TrackingSelectionStart
         Dim se As Double = _playctrl.SelectionEnd
         Dim ss As Double = _playctrl.SelectionStart
      End Sub

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class
C#Copy Code
public bool _result = false;
      public PlayCtrlForm _form = new PlayCtrlForm();
      public PlayCtrl _playctrl;
      public PlaySeeking _seekingCaps;
      public TimeSpan _start = TimeSpan.Zero;
      public void HasDialogExample()
      {
         // reference the play control
         _playctrl = _form.PlayCtrl;

         // input file for playback
         string inFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_Source.avi");

         try
         {
            // turn off autostart and auto rewind
            _playctrl.AutoStart = false;
            _playctrl.AutoRewind = false;

            // set the source file
            _playctrl.SourceFile = inFile;

            // show some media info if available
            ShowMediaInfo();

            // the HasDialog method tells us that the control
            // can display the desired settings dialog.
            // check to see if the video renderer properties dialog is available
            if (_playctrl.HasDialog(PlayDlg.VideoRenderer))
            {
               // now show it to change some settings
               _playctrl.ShowDialog(PlayDlg.VideoRenderer, _form);
               _result = true;
            }

            // get the source object type
            SourceObjectType sot = _playctrl.SourceType;

            // check some audio properties
            bool mute = _playctrl.Mute;
            int bal = _playctrl.Balance;
            int vol = _playctrl.Volume;

            // seeking caps - you can use these to enable menu states or toolbar buttons
            _seekingCaps = _playctrl.CheckSeekingCapabilities(PlaySeeking.Forward | PlaySeeking.Backward);

            // subscribe to the key press event to demo play functions
            _playctrl.KeyPress += new Leadtools.Multimedia.KeyPressEventHandler(PlayCtrl_KeyPress);

            // start the capture process
            _playctrl.Run();

            // we'll loop on the state and pump messages for this example.
            // but you should not need to if running from a Windows Forms application.
            while (_playctrl.State == PlayState.Running
               || _playctrl.State == PlayState.Paused
               || _playctrl.State == PlayState.NotReady)
               Application.DoEvents();

            // call reset source here to release resources
            // but not necessary if we are just exiting
            _playctrl.ResetSource();
         }
         catch (Exception)
         {
            _result = false;
         }
      }

      // state variables for helper timer states
      public bool _markedSelStart = false;
      public bool _markedSelEnd = false;
      public bool _seekedSelStart = false;
      public bool _seekedSelEnd = false;

      // key press event handler to manage playback functions
      void PlayCtrl_KeyPress(object sender, Leadtools.Multimedia.KeyPressEventArgs e)
      {
         char key = (char)e.keyAscii;
         switch (key)
         {
            case 'b':
               if (!_markedSelStart)
               {
                  _markedSelStart = true;
                  _playctrl.MarkSelectionStart();
                  System.Diagnostics.Debug.WriteLine("Mark Selection Start: " + _playctrl.SelectionStart.ToString() + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " + _playctrl.State.ToString());
               }
               break;
            case 'e':
               if (!_markedSelEnd)
               {
                  _markedSelEnd = true;
                  _playctrl.Pause();
                  _playctrl.MarkSelectionEnd();
                  System.Diagnostics.Debug.WriteLine("Mark Selection End: " + _playctrl.SelectionEnd.ToString() + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " + _playctrl.State.ToString());
                  _playctrl.SeekSelectionStart();
                  _playctrl.Run();
               }
               break;
            case 's':
               if (!_seekedSelStart)
               {
                  _seekedSelStart = true;
                  System.Diagnostics.Debug.WriteLine("Seek To Selection Start: " + _playctrl.SelectionStart.ToString() + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " + _playctrl.State.ToString());
                  _playctrl.SeekSelectionStart();
               }
               break;
            case 'f':
               // toggle full screen
               _playctrl.ToggleFullScreenMode();
               break;
            case '+':
               if (_playctrl.State == PlayState.Running)
                  _playctrl.Pause();

               _playctrl.NextFrame();
               break;
            case '-':
               if (_playctrl.State == PlayState.Running)
                  _playctrl.Pause();

               _playctrl.PreviousFrame();
               break;
            case 'z':
               if (!_seekedSelEnd)
               {
                  // turn off full screen mode
                  _playctrl.FullScreenMode = false;

                  _seekedSelEnd = true;
                  System.Diagnostics.Debug.WriteLine("Seek To Selection End: " + _playctrl.SelectionEnd.ToString() + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " + _playctrl.State.ToString());
                  _playctrl.SeekSelectionEnd();
               }
               break;
            case 'x':
               _playctrl.Stop();
               break;

         }
      }

      private void ShowMediaInfo()
      {
         double d = 0;
         string sa, scr, sd, sr, st;

         sa = scr = sd = sr = st = "Unavailable";

         try
         {
            d = _playctrl.FrameDuration;
            sa = _playctrl.Author;
            scr = _playctrl.Copyright;
            sd = _playctrl.Description;
            sr = _playctrl.Rating;
            st = _playctrl.Title;
         }
         catch (Exception)
         {
         }

         MessageBox.Show(_form, string.Format("Duration: {0}\nAuthor: {1}\nCopyright: {2}\nDesc: {3}\nRating: {4}\nTitle: {5}\n",
            d, sa, scr, sd, sr, st), "Media Info");
      }

      void SelectedOptions()
      {
         _playctrl.SeekStart();
         _playctrl.SeekEnd();
         int te = _playctrl.TrackingSelectionEnd;
         int ts = _playctrl.TrackingSelectionStart;
         double se = _playctrl.SelectionEnd;
         double ss = _playctrl.SelectionStart;
      }

static class LEAD_VARS
{
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
}

Remarks

Valid values range from -10000 to 10000, where -10000 indicates that the right channel will receive no signal, 10000 indicates that the left channel will receive no signal, and 0 indicates that each channel will get the same amount of audio signal.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also