Thank for your answer. As far as I can see, this document has nothing related with selected default sound device. What I'm looking for is a way to do what the sound control panel does: select which sound device will be the default recording or play back device.
-- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be ----- Original Message ----- From: "Johannes Fourie" <[EMAIL PROTECTED]> To: "Borland's Delphi Discussion List" <[email protected]> Sent: Tuesday, June 14, 2005 1:22 PM Subject: RE: Selecting default sound device > Under the Borland Developer Network I found the following piece of Code, > But I did not have time to test this, so please let me know if this is a > working type of code? > > Create a new file with the .wav extension. - by Borland Developer > Support Staff > > Technical Information Database > > TI1427D.txt Create a new file with the .wav extension. > Category :General Programming > Platform :All > Product :Delphi All > > Description: > This document describes the process for creating added > functionality ,that many Delphi users have requested, > to the TMediaPlayer. The new functionality is the ability > to create a new file with the .wav format when recording. > The procedure "SaveMedia" creates a record type that is > passed to the MCISend command. There is an appexception > that calls close media if any error occurs while attempting > to open the specified file. The application consists two > buttons. Button1 calls the OpenMedia and RecordMedia > procedures in that order.The CloseMedia procedure is called > whenever an exception is generated in this application. > Button2 calls the StopMedia,SaveMedia, and CloseMedia > procedures. > > > unit utestrec; > > interface > > uses > Windows, Messages, SysUtils, Classes, Graphics, Controls, > Forms, Dialogs,MPlayer,MMSystem,StdCtrls; > > type > TForm1 = class(TForm) > Button1: TButton; > Button2: TButton; > procedure Button1Click(Sender: TObject); > procedure Button2Click(Sender: TObject); > procedure FormCreate(Sender: TObject); > procedure AppException(Sender: TObject; E: Exception); > private > FDeviceID: Word; > { Private declarations } > public > procedure OpenMedia; > procedure RecordMedia; > procedure StopMedia; > procedure SaveMedia; > procedure CloseMedia; > end; > > var > Form1: TForm1; > > implementation > > {$R *.DFM} > > var > MyError,Flags: Longint; > > procedure TForm1.OpenMedia; > var > MyOpenParms: TMCI_Open_Parms; > MyPChar: PChar; > TextLen: Longint; > begin > Flags:=mci_Wait or mci_Open_Element or mci_Open_Type; > with MyOpenParms do > begin > dwCallback:=Handle; // TForm1.Handle > lpstrDeviceType:=PChar('WaveAudio'); > lpstrElementName:=PChar(''); > end; > MyError:=mciSendCommand(0, mci_Open, Flags, > Longint( > MyOpenParms)); > if MyError = 0 then > FDeviceID:=MyOpenParms.wDeviceID; > end; > > procedure TForm1.RecordMedia; > var > MyRecordParms: TMCI_Record_Parms; > TextLen: Longint; > begin > Flags:=mci_Notify; > with MyRecordParms do > begin > dwCallback:=Handle; // TForm1.Handle > dwFrom:=0; > dwTo:=10000; > end; > MyError:=mciSendCommand(FDeviceID, mci_Record, Flags, > Longint( > MyRecordParms)); > end; > > procedure TForm1.StopMedia; > var > MyGenParms: TMCI_Generic_Parms; > begin > if FDeviceID <> 0 then > begin > Flags:=mci_Wait; > MyGenParms.dwCallback:=Handle; // TForm1.Handle > MyError:=mciSendCommand(FDeviceID, mci_Stop, Flags, > Longint( > MyGenParms)); > end; > end; > > procedure TForm1.SaveMedia; > type // not implemented by Delphi > PMCI_Save_Parms = ^TMCI_Save_Parms; > TMCI_Save_Parms = record > dwCallback: DWord; > lpstrFileName: PAnsiChar; // name of file to save > end; > var > MySaveParms: TMCI_Save_Parms; > begin > if FDeviceID <> 0 then > begin > // save the file... > Flags:=mci_Save_File or mci_Wait; > with MySaveParms do > begin > dwCallback:=Handle; > lpstrFileName:=PChar('c:\message.wav'); > end; > MyError:=mciSendCommand(FDeviceID, mci_Save, Flags, > Longint( > MySaveParms)); > end; > end; > > procedure TForm1.CloseMedia; > var > MyGenParms: TMCI_Generic_Parms; > begin > if FDeviceID <> 0 then > begin > Flags:=0; > MyGenParms.dwCallback:=Handle; // TForm1.Handle > MyError:=mciSendCommand(FDeviceID, mci_Close, Flags, > Longint( > MyGenParms)); > if MyError = 0 then > FDeviceID:=0; > end; > end; > > procedure TForm1.Button1Click(Sender: TObject); > begin > OpenMedia; > RecordMedia; > end; > > procedure TForm1.Button2Click(Sender: TObject); > begin > StopMedia; > SaveMedia; > CloseMedia; > end; > > procedure TForm1.FormCreate(Sender: TObject); > begin > Application.OnException := AppException; > end; > > procedure TForm1.AppException(Sender: TObject; E: Exception); > begin > CloseMedia; > end; > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Francois Piette > Sent: 14 June 2005 09:20 > To: [email protected] > Subject: Selecting default sound device > > I'm looking for a way to select the default sound device (record and > playback) programmatically. I > need to implement in my software the same feature as the sound control > panel: the user is presented > a list of available devices and select which want he wants to make it > the default one. > > I can't find the API to achieve this goal. > Any help appreciated. > > -- > [EMAIL PROTECTED] > Author of ICS (Internet Component Suite, freeware) > Author of MidWare (Multi-tier framework, freeware) > http://www.overbyte.be > > > _______________________________________________ > Delphi mailing list -> [email protected] > http://www.elists.org/mailman/listinfo/delphi > > > > NOTICE: Please note that this eMail, and the contents thereof, is subject to > the standard arivia.kom email disclaimer which may be found at: http://www.arivia.co.za/internet/disclaimer.htm. If you cannot access the disclaimer through the URL attached, and you wish to receive a copy thereof, please send an eMail to [EMAIL PROTECTED] or call (011) 233-0800. You will receive the disclaimer by return email or fax. > > > > > _______________________________________________ > Delphi mailing list -> [email protected] > http://www.elists.org/mailman/listinfo/delphi > _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi

