Gets the total number of mutual exclusion objects in the profile.
public int MutualExclusionCount { get; }
Public ReadOnly Property MutualExclusionCount As Integer
public:
property int MutualExclusionCount {
int get();
}
A value that represents the total number of mutual exclusion objects in the profile.
For more information, refer to the Microsoft documentation for IWMProfile.GetMutualExclusionCount.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public ConvertCtrlForm _form = new ConvertCtrlForm();
public TestCtrlSubForm _subform = new TestCtrlSubForm();
// this demo for enumerates system profiles and displays profile info
public void SaveProfileExample()
{
ConvertCtrl convertctrl = _form.ConvertCtrl;
string inFile = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi");
try
{
// create the profile manager
WMProfileManager manager = new WMProfileManager();
// build a list of system profiles
BuildSystemProfileList(_subform.List);
// show the dialog
_subform.ShowDialog(_form);
int idx = _subform.List.SelectedIndex;
// load the selected profile
WMProfile profile = LoadSystemProfile(manager, idx);
// convert to string
string sprof = ProfileToString(manager, profile);
// display the string
if (profile.Version == WMT_Version.V8)
{
MessageBox.Show("Profile "
+ profile.Name
+ " Content: "
+ sprof
+ "This profile contains "
+ profile.StreamCount.ToString()
+ " streams and "
+ profile.MutualExclusionCount.ToString()
+ " mutex");
}
// convert string to profile
profile = ProfileFromString(manager, sprof);
// dispose the manager
manager.Dispose();
// set the result
_result = true;
}
catch (Exception)
{
_result = false;
}
// 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 (convertctrl.State == ConvertState.Running)
Application.DoEvents();
}
private void BuildSystemProfileList(ListBox lbSysProfiles)
{
// create the profile manager
WMProfileManager manager = new WMProfileManager();
WMProfile profile;
// set the version to show Windows Media 8.0 system profiles
manager.SystemProfileVersion = WMT_Version.V8;
// walk the list of system profiles and add the name to the combo box
lbSysProfiles.Items.Clear();
// enumerate the system profiles
for (int i = 0; i < manager.SystemProfileCount - 1; i++)
{
profile = manager.LoadSystemProfile(i);
lbSysProfiles.Items.Add(profile.Name);
}
}
private WMProfile LoadSystemProfile(WMProfileManager manager, int idx)
{
// set the version to load Windows Media 8.0 system profiles
manager.SystemProfileVersion = WMT_Version.V8;
// load the specified profile
return manager.LoadSystemProfile(idx);
}
private string ProfileToString(WMProfileManager manager, WMProfile profile)
{
// convert the profile to string
return manager.SaveProfile(profile);
}
private WMProfile ProfileFromString(WMProfileManager manager, string profilestr)
{
// load profile from string data
return manager.LoadProfileByData(profilestr);
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media";
}
Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
Public _result As Boolean = False
Public _form As ConvertCtrlForm = New ConvertCtrlForm()
Public _subform As TestCtrlSubForm = New TestCtrlSubForm()
' this demo for enumerates system profiles and displays profile info
Public Sub SaveProfileExample()
Dim convertctrl As ConvertCtrl = _form.ConvertCtrl
Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi")
Try
' create the profile manager
Dim manager As WMProfileManager = New WMProfileManager()
' build a list of system profiles
BuildSystemProfileList(_subform.List)
' show the dialog
_subform.ShowDialog(_form)
Dim idx As Integer = _subform.List.SelectedIndex
' load the selected profile
Dim profile As WMProfile = LoadSystemProfile(manager, idx)
' convert to string
Dim sprof As String = ProfileToString(manager, profile)
' display the string
If profile.Version = WMT_Version.V8 Then
MessageBox.Show("Profile " _
& profile.Name _
& " Content: " _
& sprof _
& "This profile contains " _
& profile.StreamCount.ToString() _
& " streams and " _
& profile.MutualExclusionCount.ToString() _
& " mutex")
End If
' convert string to profile
profile = ProfileFromString(manager, sprof)
' dispose the manager
manager.Dispose()
' set the result
_result = True
Catch e1 As Exception
_result = False
End Try
' 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 convertctrl.State = ConvertState.Running
Application.DoEvents()
Loop
End Sub
Private Sub BuildSystemProfileList(ByVal lbSysProfiles As ListBox)
' create the profile manager
Dim manager As WMProfileManager = New WMProfileManager()
Dim profile As WMProfile
' set the version to show Windows Media 8.0 system profiles
manager.SystemProfileVersion = WMT_Version.V8
' walk the list of system profiles and add the name to the combo box
lbSysProfiles.Items.Clear()
' enumerate the system profiles
Dim i As Integer = 0
Do While i < manager.SystemProfileCount - 1
profile = manager.LoadSystemProfile(i)
lbSysProfiles.Items.Add(profile.Name)
i += 1
Loop
End Sub
Private Function LoadSystemProfile(ByVal manager As WMProfileManager, ByVal idx As Integer) As WMProfile
' set the version to load Windows Media 8.0 system profiles
manager.SystemProfileVersion = WMT_Version.V8
' load the specified profile
Return manager.LoadSystemProfile(idx)
End Function
Private Function ProfileToString(ByVal manager As WMProfileManager, ByVal profile As WMProfile) As String
' convert the profile to string
Return manager.SaveProfile(profile)
End Function
Private Function ProfileFromString(ByVal manager As WMProfileManager, ByVal profilestr As String) As WMProfile
' load profile from string data
Return manager.LoadProfileByData(profilestr)
End Function
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media"
End Class
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