public virtual int Volume { get; set; }
A value representing the volume level.
The scale is logarithmic, with full volume at 0 and silence at -10,000. Multiply the desired decibel level by 100 (for example, -10,000 x 100 = -100 dB).
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
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:\LEADTOOLS23\Media";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.