Thread: wav files

  1. #1
    Unregistered
    Guest

    Question wav files

    I want to write a simple windows app that does a few things with wav files. And i dont want to use Direct Sound b/c that is just too much for what i need (even though i know how to use that ). But anyway, what i need to do is be able to record as a wav file what ever comes into the line in on my sound card. I need to start recording when a signal appears on the line in and when its gone i need it to stop recording. I also need to play this wav file later on. I have done the playing before just not the recording. I plan on using the playsound function in mmsystem.h to play the sound and in that file, is there also a way to record a wav file when a signal is present on the line in?

  2. #2
    Caffienated jinx's Avatar
    Join Date
    Oct 2001
    Posts
    234
    MCI_RECORD
    The MCI_RECORD command starts recording from the current position or from one specified location to another specified location. VCR and waveform-audio devices recognize this command. Although digital-video devices and MIDI sequencers also recognize this command, the MCIAVI and MCISEQ drivers do not implement it.

    To send this command, call the mciSendCommand function with the following parameters.

    MCIERROR mciSendCommand(
    MCIDEVICEID wDeviceID,
    MCI_RECORD,
    DWORD dwFlags,
    (DWORD) (LPMCI_RECORD_PARMS) lpRecord
    );
    Parameters
    wDeviceID
    Device identifier of the MCI device that is to receive the command message.
    dwFlags
    MCI_NOTIFY, MCI_WAIT, or, for digital-video and VCR devices, MCI_TEST. For information about these flags, see The Wait, Notify, and Test Flags.
    lpRecord
    Pointer to an MCI_RECORD_PARMS structure. (Devices with extended command sets might replace this structure with a device-specific structure.)
    Return Values
    Returns zero if successful or an error otherwise.

    Remarks
    This command is supported by devices that return TRUE when you call the MCI_GETDEVCAPS command with the MCI_GETDEVCAPS_CAN_RECORD flag. For the MCIWAVE driver, all data recorded after a file is opened is discarded if the file is closed without saving it.

    The following additional flags apply to all devices supporting MCI_RECORD:

    MCI_FROM
    A starting location is included in the dwFrom member of the structure identified by lpRecord. The units assigned to the position values are specified with the MCI_SET_TIME_FORMAT flag of the MCI_SET command. If MCI_FROM is not specified, the starting location defaults to the current position.
    MCI_RECORD_INSERT
    Newly recorded information should be inserted or pasted into the existing data. Some devices might not support this. If supported, this is the default.
    MCI_RECORD_OVERWRITE
    Data should overwrite existing data. The MCIWAVE.DRV device returns MCIERR_UNSUPPORTED_FUNCTION in response to this flag.
    MCI_TO
    An ending location is included in the dwTo member of the structure identified by lpRecord. The units assigned to the position values are specified with the MCI_SET_TIME_FORMAT flag of the MCI_SET command. If MCI_TO is not specified, the ending location defaults to the end of the content.
    The following additional flags are used with the digitalvideo device type:

    MCI_DGV_RECORD_AUDIO_STREAM
    An audio-stream number is included in the dwAudioStream member of the structure identified by lpRecord. If you omit this flag, audio data is recorded into the first physical stream.
    MCI_DGV_RECORD_HOLD
    When recording stops, the screen will hold the last image and will not resume showing the video until an MCI_MONITOR command is issued.
    MCI_DGV_RECORD_VIDEO_STREAM
    A video-stream number is included in the dwVideoStream member of the structure identified by lpRecord. If you omit this flag, video data is recorded into the first physical stream.
    MCI_DGV_RECT
    A rectangle is specified in the rc member of the structure identified by lpRecord. The rectangle specifies the region of the external input used as the source for the pixels compressed and saved. This rectangle defaults to the rectangle specified (or defaulted) by the MCI_DGV_PUT_VIDEO flag for the MCI_PUT command. When it is set differently than the video rectangle, what is displayed is not what is recorded
    For digital-video devices, lpRecord points to an MCI_DGV_RECORD_PARMS structure.

    The following additional flags are used with the vcr device type:

    MCI_VCR_RECORD_AT
    The dwAt member of the structure identified by lpRecord contains a time when the entire command begins, or if the device is cued, when the device reaches the from position given by the cue command.
    MCI_VCR_RECORD_INITIALIZE
    Seek the device to the start of the media, begin recording blank video and audio, and record timecode, if possible



    <taken from micrsoft.com>
    Weeel, itss aboot tieme wee goo back too Canada, eeehy boyss.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Program Deployment and DLL/OCX Files?
    By dfghjk in forum C++ Programming
    Replies: 5
    Last Post: 06-16-2008, 02:47 AM
  2. accessing all files in a folder.
    By pastitprogram in forum C++ Programming
    Replies: 15
    Last Post: 04-30-2008, 10:56 AM
  3. Mixing wav files using ANSI C
    By crouchy8 in forum C Programming
    Replies: 15
    Last Post: 04-13-2008, 02:51 PM
  4. Wav files and winbase.h
    By ZapoTex in forum C Programming
    Replies: 5
    Last Post: 02-24-2005, 05:17 PM
  5. DLLs <- sound files, and nesting.
    By sean in forum C++ Programming
    Replies: 2
    Last Post: 10-28-2002, 05:13 PM