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

Reply via email to