SaveProfile Method

Summary
Saves a profile to a string buffer, in the form of an XML-formatted string.
Syntax
C#
C++/CLI
public string SaveProfile( 
   WMProfile Profile 
) 
public: 
String^ SaveProfile(  
   WMProfile^ Profile 
)  

Parameters

Profile
A WMProfile object containing the profile data to be saved.

Return Value

XML-formatted string containing the profile information.

Remarks

Saves a profile to a string buffer, in the form of an XML-formatted string. The returned string should not be modified directly. To change the profile settings, load the saved profile using the WMProfileManager.LoadProfileByData method and change the settings using the WMProfile object methods. If you save the string in a file for later use, the file must have a "prx" extension. For more information, refer to the Microsoft documentation for IWMProfileManager.SaveProfile.

Example
C#
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:\LEADTOOLS22\Media"; 
} 
Requirements

Target Platforms

Help Version 22.0.2022.12.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Multimedia Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.