The IMMDigitalVideo class provides behavior for digital software motion video. It supports playback of video in either a system-provided default window or a user-specified window. It provides functions for playing and controlling video in a default window or an application window. There are also functions for playing the video at different speeds.
You can construct and destruct objects of this class.
![]() |
public:
virtual ~IMMDigitalVideo()
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo( bool openNow = true, unsigned long instance = 0, bool openShareable = true )
You can construct an IMMDigitalVideo from the following:
Windows | OS/2 | AIX |
Yes | Yes | No |
protected:
IMMDigitalVideo( unsigned long deviceIdentifier, const IString& newAlias )
A derived class can construct an IMMDigitalVideo from the following:
Windows | OS/2 | AIX |
Yes | Yes | No |
Use these members to query the capabilities for the current device.
![]() |
public:
bool supportsOverlayGraphics(CallType call = wait) const
Returns true if the device supports the display by an application of overlay graphics in a video window.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
bool supportsReverse(CallType call = wait) const
Returns true if the device can play in reverse.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
bool supportsSizing(CallType call = wait) const
Returns true if the device can independently stretch the horizontal and vertical dimensions of the image. This is different than supportsStretchToFit, which forces both horizontal and vertical dimensions to be stretched in the same proportion. For example, if you stretch the horizontal dimension by 10%, then the vertical dimension must stretch by 10%.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
bool supportsStretchToFit(CallType call = wait) const
Returns true if the device can stretch the video frames to fill the display rectangle. Thus, both the horizontal and vertical dimensions must be stretched by the same proportion. For example, if you stretch the horizontal dimension by 10%, then the vertical dimension must stretch by 10%. This is different than supportsSizing, which allows both horizontal and vertical dimensions to be stretched independently of each other.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
These members validate the open string, translate the audio flags, and play the video file using the passed-in speed and range.
![]() |
protected:
virtual bool isOpenStringValid( const IString& deviceName ) const
Returns true if the passed-in open string is valid for this device.
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
protected:
IMMDigitalVideo& playDigital( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = nowait, unsigned long flags = 0, unsigned long speed = 0 )
Allows the playing from a start to an end position with the specified flags and speed. If from is omitted, play starts at the current position; if to is omitted, play stops at the end of the video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid from position; possibly the from position is greater than the end position or the from position is greater than the to position. |
IAccessError | Invalid to position; possibly the to position is greater than the length of the video file. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
protected:
virtual IMMDigitalVideo& restoreDeviceSettings( bool newRecordMode = false )
Restores settings for the current device. Derived classes should override this function, handle class-specific settings, and call the corresponding inherited function.
Windows | OS/2 | AIX |
Yes | No | No |
![]() |
protected:
virtual IMMDigitalVideo& saveDeviceSettings()
Saves settings for the current device. Derived classes should override this function, handle class-specific settings, and call the corresponding inherited function.
Windows | OS/2 | AIX |
Yes | No | No |
![]() |
protected:
virtual unsigned long translateAudioFlag( unsigned long ) const
Maps the wave audio commands to the digital video values. The digital video and the wave audio device both support setting the bytes-per-second, but the actual system values are different. By allowing the mapping of the wave audio values to the digital video values, the digital video player does not have to override all of the audio functions because they call this function.
Windows | OS/2 | AIX |
Yes | Yes | No |
Use these members to play a video at different rates.
![]() |
public:
bool isPlayingForward(CallType call = wait) const
Returns true if the play direction is forward or if the device is not playing.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
virtual IMMDigitalVideo& play( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), bool resumeIfPaused = true, CallType call = nowait )
Starts playing the device from the passed-in start position to the passed-in end position. If from is omitted, the device starts playing at the current position; if to is omitted, play stops at the end of the data. If resumeIfPaused is true and the device is paused, it resumes playback of the device; otherwise, it starts playback from the passed in start position.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IInvalidRequest | There is no data present; possibly no file is loaded or no media is in the device. |
IAccessError | Invalid from position; possibly the from position is greater than the end position or the from position is greater than the to position. |
IAccessError | Invalid to position; possibly the to position is greater than the length of the data. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo& playAt( const IMMSpeed& speed, const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = nowait )
Plays the video at the specified speed from the start position to the end position. If from is omitted, play starts at the current position; if to is omitted, play stops at the end of the video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid from position; possibly the from position is greater than the end position or the from position is greater than the to position. |
IAccessError | Invalid to position; possibly the to position is greater than the length of the video file. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo& playFast( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = nowait )
Plays the video at the fast speed from the start position to the end position with no audio. If from is omitted, play starts at the current position; if to is omitted, play stops at the end of the video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid from position; possibly the from position is greater than the end position or the from position is greater than the to position. |
IAccessError | Invalid to position; possibly the to position is greater than the length of the video file. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo& playScan( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = nowait )
Plays frames when indexed; otherwise, it plays the video as fast as possible (without disabling the video) from the start position to the end position with no audio. If from is omitted, play starts at the current position; if to is omitted, play stops at the end of the video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid from position; possibly the from position is greater than the end position or the from position is greater than the to position. |
IAccessError | Invalid to position; possibly the to position is greater than the length of the video file. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo& playSlow( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = nowait )
Plays the video at the slow speed from the start position to the end position with no audio. If from is omitted, play starts at the current position; if to is omitted, play stops at the end of the video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid from position; possibly the from position is greater than the end position or the from position is greater than the to position. |
IAccessError | Invalid to position; possibly the to position is greater than the length of the video file. |
Windows | OS/2 | AIX |
Yes | Yes | No |
Use these members to query the device's playback rates and the current playback rate.
![]() |
public:
IMMSpeed fastSpeed(CallType call = wait) const
Returns the device's fast playback rate in the current speed format, either as a percentage or in frames-per-second. Returns 0 if the device cannot play fast.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
IMMSpeed fileNormalSpeed(CallType call = wait) const
Returns the normal play rate of the currently loaded video file, in the current speed format, either as a percentage or in frames-per-second. This is the playback speed stored in the video file when the video file was created. Returns 0 if no file is currently loaded.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMSpeed maximumSpeed(CallType call = wait) const
Returns the maximum play rate in the current speed format, either as percentage or in frames-per-second.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMSpeed minimumSpeed(CallType call = wait) const
Returns the minimum play rate in the current speed format, either as percentage or in frames-per-second.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMSpeed normalSpeed(CallType call = wait) const
Returns the device's normal play rate in the current speed format, either as a percentage or in frames-per-second.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMSpeed slowSpeed(CallType call = wait) const
Returns the device's slow playback rate in the current speed format, either as a percentage or in frames-per-second. Returns 0 if the device cannot play slow.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
IMMSpeed speed(CallType call = wait) const
Returns the currently set speed for the device.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
Use these members to record from a video capture card, monitor the video signal, and change the monitor window.
![]() |
public:
virtual IMMDigitalVideo& disableMonitoring( CallType call = wait )
Sets monitoring of the incoming video signal off. When monitoring is turned on, a monitor window is created. When the monitor window is active and recording is not in progress, the monitor window displays the entire video source image, regardless of any source rectangle setting. During recording, only the area being captured is displayed.
Monitoring during real-time recording is supported but at a reduced performance. Monitoring cannot be turned on or off during recording, that is, if it is on when recording starts it must remain on while recording is in progress. Attempting to turn monitoring on or off during real-time recording results in an exception.
During monitoring, audio is passed through and heard on the speakers or headphones connected to the sound card, if present.
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
virtual IMMDigitalVideo& enableMonitoring( bool enable = true, CallType call = wait )
Sets monitoring of the incoming video signal on or off. When monitoring is turned on, a monitor window is created. When the monitor window is active and recording is not in progress, the monitor window displays the entire video source image, regardless of any source rectangle setting. During recording, only the area being captured is displayed.
Monitoring during real-time recording is supported but at a reduced performance. Monitoring cannot be turned on or off during recording, that is, if it is on when recording starts, it must remain on while recording is in progress. Attempting to turn monitoring on or off during real-time recording results in an exception.
During monitoring, audio is passed through and heard on the speakers or headphones connected to the sound card, if present.
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
bool isMonitoringEnabled(CallType call = wait) const
Returns true if monitoring of the incoming video signal is enabled.
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
IWindowHandle monitorHandle(CallType call = wait) const
Returns the window handle for the current video monitor window.
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
virtual IMMDigitalVideo& record( const IMMTime& end = IMMTime ( ), bool resumeIfPaused = true, CallType call = nowait )
Starts recording till it reaches the end location. If there was anything previously recorded, it is deleted before the recording starts. If the end location is not specified, recording continues until a pause or stop occurs. It is recommended that you temporarily acquire the device exclusively while you are recording; otherwise, the recording can become inactive if another device requests access to the device.
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
Supplies a window where you can see the incoming video signal if monitoring is enabled. For example, you might want your monitor window in a canvas. If so, pass the handle of the canvas to this function. By default, the IMMDigitalVideo class creates and uses its own video monitor window. This function allows an application to provide its own video monitor window. To switch back to using the default video monitor window, call useDefaultMonitorWindow.
public:
IMMDigitalVideo& setMonitorWindow( const IWindow& window, CallType call = wait )
Windows | OS/2 | AIX |
No | Yes | No |
public:
IMMDigitalVideo& setMonitorWindow( const IWindowHandle& handle, CallType call = wait )
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
IMMDigitalVideo& useDefaultMonitorWindow( CallType call = wait )
Specifies that the digital video class creates and manages its own video monitor window. You can use it to set the video monitor window back to the default video monitor window.
Windows | OS/2 | AIX |
No | Yes | No |
These members are used to change the video window attributes and to play the loaded video at a different rate than normal.
![]() |
public:
IRectangle destinationRectangle(CallType call = wait) const
Returns the subrectangle within the video window where video is played. This allows an application to move, grow, or shrink where the video is played inside the video window.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IWindowHandle handle(CallType call = wait) const
Returns the window handle for the current video playback window.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
unsigned long maximumWindows(CallType call = wait) const
Returns the maximum number of video windows allowed on this machine.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo& refresh( const IRectangle& source = IRectangle ( ), const IRectangle& destination = IRectangle ( ), CallType call = wait )
Restores the video window by causing the video device to transfer an image from the video to the playback window. This is similar to a refresh of a normal window. If the source rectangle is not specified, the entire image is restored. If the destination rectangle is not specified, the destination size is set to the same as the image size. If the destination rectangle is a different size than the source rectangle, it tries to scale the image (if supported); otherwise, it clips the image to the destination rectangle.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid rectangle was specified. |
Windows | OS/2 | AIX |
No | Yes | No |
![]() |
public:
IMMDigitalVideo& setDestination( const IRectangle& rectangle, CallType = wait )
Sets the subrectangle within the video window where video is played. This allows an application to move, grow, or shrink where the video is played inside the video window.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid rectangle was specified. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
Supplies a window where the video is played. For example, you might want your video to be played back in a canvas. If so, pass the handle of the canvas to this function. By default, the IMMDigitalVideo class creates and use its own video window. This function allows an application to provide its own video playback window. To switch back to using the default video window, call useDefaultWindow.
public:
IMMDigitalVideo& setWindow( const IWindowHandle& handle, CallType call = wait )
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid window handle was specified. |
Windows | OS/2 | AIX |
Yes | Yes | No |
public:
IMMDigitalVideo& setWindow( const IWindow& window, CallType call = wait )
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
IAccessError | Invalid window was specified. |
Windows | OS/2 | AIX |
Yes | Yes | No |
The video window will not resize to fit the size of the window that you specified. Please use the setDestination() member function to accomplish this.
![]() |
public:
IRectangle sourceRectangle(CallType call = wait) const
Returns the subrectangle of the video from the currently loaded video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IMMDigitalVideo& useDefaultWindow(CallType call = wait)
Specifies that the digital video class creates and manages its own video window. You can use it to set the video window back to the default video window.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function.
|
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
unsigned long videoFileHeight(CallType call = wait) const
Returns the height of the video for the currently loaded video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
IString videoFileName() const
Returns the file name of the digital video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
unsigned long videoFileWidth(CallType call = wait) const
Returns the width of the video for the currently loaded video file.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
unsigned long videoHeight(CallType call = wait) const
Returns the nominal (reasonable) height of the video for this machine. So, this would probably return a smaller value on a '386 machine than a '486 machine.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
![]() |
public:
unsigned long videoWidth(CallType call = wait) const
Returns the nominal (reasonable) width of the video for this machine. So, this would probably return a smaller value on a '386 machine than a '486 machine.
IAccessError | The device identifier is not valid; possibly the device is closed. |
IAccessError | The device cannot acquire access to the hardware device; possibly another device of this same type was acquired for exclusive use in this or another process. |
IAccessError | An internal driver error occurred. |
IInvalidRequest | The device must be in the open state before calling this function. |
Windows | OS/2 | AIX |
Yes | Yes | No |
virtual ~IMMConfigurableAudio()
unsigned long bitsPerSample(CallType call = wait) const
unsigned long blockAlignment(CallType call = wait) const
unsigned long bytesPerSecond(CallType call = wait) const
unsigned long channels(CallType call = wait) const
IMMAudioBuffer::Format format(CallType call = wait) const
unsigned long samplesPerSecond(CallType call = wait) const
virtual IMMConfigurableAudio& setBitsPerSample( unsigned long bitsPerSample, CallType call = wait )
virtual IMMConfigurableAudio& setBlockAlignment( unsigned long alignment, CallType call = wait )
virtual IMMConfigurableAudio& setBytesPerSecond( unsigned long averageBytes, CallType call = wait )
virtual IMMConfigurableAudio& setChannels( unsigned long channels, CallType call = wait )
virtual IMMConfigurableAudio& setFormat( IMMAudioBuffer::Format tag = IMMAudioBuffer::pcm, CallType call = wait )
virtual IMMConfigurableAudio& setSamplesPerSecond( unsigned long samplesPerSecond, CallType call = wait )
virtual IMMConfigurableAudio& setVolume( unsigned long volume, AudioChannel channel = all, const IMMMillisecondTime& over = IMMMillisecondTime ( ), CallType call = wait )
virtual unsigned long volume( AudioChannel channel = left, CallType call = wait ) const
virtual ~IMMDevice()
virtual IMMDevice& acquire( ShareMode acquire = shareable, bool queuedForResources = false, CallType call = wait )
IString aliasName() const
virtual IMMDevice& close(CallType call = wait)
unsigned long connectedDeviceId( ConnectorType type, CallType call = wait ) const
virtual IMMDevice& deletePendingEvents( EventType event = allEvents )
IString description(CallType call = wait) const
unsigned long deviceId() const
IString deviceName() const
unsigned long deviceType(CallType call = wait) const
virtual IMMDevice& disableAudio( AudioChannel channel = all, const IMMMillisecondTime& over = IMMMillisecondTime ( ), CallType call = wait )
virtual IMMDevice& disableConnector( ConnectorType type, CallType call = wait )
virtual IMMDevice& enableAudio( bool enable = true, AudioChannel channel = all, const IMMMillisecondTime& over = IMMMillisecondTime ( ), CallType call = wait )
virtual IMMDevice& enableConnector( ConnectorType type, bool enable = true, CallType call = wait )
virtual IMMDevice& enableNotification(bool enabled = true)
bool isAcquired(CallType call = wait) const
bool isAudioEnabled( AudioChannel channel = all, CallType call = wait )
bool isCloseOnDestroy() const
bool isConnectionSupported( ConnectorType type, CallType call = wait ) const
bool isConnectorEnabled( ConnectorType type, CallType call = wait ) const
bool isOpen() const
virtual Mode mode(CallType call = wait) const
virtual IMMDevice& open( const IString& fileOrDevice = IString ( ), bool shareable = true, CallType call = wait )
virtual IMMDevice& openOnThread( const IString& fileOrDevice = IString ( ), bool shareable = true, CallType call = wait )
IMMTime prerollTime(CallType call = wait) const
PrerollType prerollType(CallType call = wait) const
virtual IMMDevice& release(CallType call = wait)
bool requiresFiles(CallType call = wait) const
IMMDevice& setCloseOnDestroy(bool close = true)
virtual IMMDevice& setSpeedFormat( IMMSpeed::Format format, CallType call = wait )
virtual IMMDevice& setTimeFormat( IMMTime::Format format, CallType call = wait )
virtual IMMDevice& setVolume( unsigned long volume, AudioChannel channel = all, const IMMMillisecondTime& over = IMMMillisecondTime ( ), CallType call = wait )
IMMSpeed::Format speedFormat(CallType call = wait) const
bool supportsAudio(CallType call = wait) const
bool supportsCommand( IMMNotifyEvent::Command command, CallType call = wait ) const
bool supportsDigitalTransfer(CallType call = wait) const
bool supportsDisableEject(CallType call = wait) const
bool supportsEject(CallType call = wait) const
bool supportsPlay(CallType call = wait) const
bool supportsRecord(CallType call = wait) const
bool supportsRecordInsertion(CallType call = wait) const
bool supportsSave(CallType call = wait) const
bool supportsStreaming(CallType call = wait) const
bool supportsVideo(CallType call = wait) const
bool supportsVolumeAdjustment(CallType call = wait) const
IMMTime::Format timeFormat(CallType call = wait) const
virtual ~IMMFileMedia()
IString filename(CallType call = wait) const
virtual bool isWriteable() const
virtual IMMFileMedia& load( const IString& filename, bool readOnly = false, CallType call = wait )
virtual IMMFileMedia& loadOnThread( const IString& filename, bool readOnly = false )
virtual IMMFileMedia& open( const IString& fileOrDevice = IString ( ), bool shareable = true, CallType call = wait )
virtual IMMFileMedia& openOnThread( const IString& fileOrDevice = IString ( ), bool shareable = true, CallType call = wait )
virtual ~IMMPlayableDevice()
virtual IMMPlayableDevice& addCuePoint( const IMMTime& time, CallType call = wait )
virtual IMMPlayableDevice& cueForPlayback( CallType call = wait )
unsigned long length(CallType call = wait) const
virtual IMMPlayableDevice& pause(CallType call = wait)
virtual IMMPlayableDevice& play( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), bool resumeIfPaused = true, CallType call = nowait )
unsigned long position(CallType call = wait) const
virtual IMMPlayableDevice& removeCuePoint( const IMMTime& time, CallType call = wait )
virtual IMMPlayableDevice& resume( bool resume = true, CallType call = wait )
virtual IMMPlayableDevice& seek( const IMMTime& to, CallType call = wait )
virtual IMMPlayableDevice& seekToEnd(CallType call = wait)
virtual IMMPlayableDevice& seekToStart( CallType call = wait )
virtual IMMPlayableDevice& startPositionTracking( const IMMTime& timeInterval, CallType call = wait )
virtual IMMPlayableDevice& stepFrame( unsigned long frames = 1, bool forward = true, CallType call = wait )
virtual IMMPlayableDevice& stop(CallType call = wait)
virtual IMMPlayableDevice& stopPositionTracking( CallType call = wait )
virtual ~IMMRecordable()
bool canRedo() const
bool canUndo() const
virtual IMMRecordable& copy( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = wait ) const
virtual IMMRecordable& cueForRecording( CallType call = nowait )
virtual IMMRecordable& cut( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = wait )
virtual IMMRecordable& deleteSelection( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), CallType call = wait )
virtual IMMRecordable& paste( const IMMTime& from = IMMTime ( ), const IMMTime& to = IMMTime ( ), bool convert = true, CallType call = wait )
virtual IMMRecordable& record( bool insert = true, const IMMTime& begin = IMMTime ( ), const IMMTime& end = IMMTime ( ), bool resumeIfPaused = true, CallType call = nowait )
virtual IMMRecordable& redo(CallType call = wait)
virtual IMMRecordable& save(CallType call = nowait)
virtual IMMRecordable& saveAs( const IString& filename, CallType call = nowait )
virtual IMMRecordable& undo(CallType call = wait)
virtual ~INotifier()
virtual INotifier& disableNotification() = 0
virtual INotifier& enableNotification( bool enable = true ) = 0
INotifier()
virtual bool isEnabledForNotification() const = 0
virtual INotifier& notifyObservers( const INotificationEvent& event ) = 0
virtual INotifier& notifyObserversAsync( const INotificationEvent& event )
const IThreadId& threadId() const
virtual ~IStandardNotifier()
virtual IStandardNotifier& disableNotification()
virtual IStandardNotifier& enableNotification( bool enable = true )
virtual bool isEnabledForNotification() const
IStandardNotifier()
IStandardNotifier(const IStandardNotifier& copy)
virtual INotifierAddress notifierAddress() const
virtual IStandardNotifier& notifyObservers( const INotificationEvent& anEvent )
virtual IStandardNotifier& notifyObserversAsync( const INotificationEvent& anEvent )
IStandardNotifier& operator =( const IStandardNotifier& aStandardNotifier )
static INotificationId const allChangesId
static INotificationId const deleteId
static const unsigned long allDevices
static const unsigned long ampMixer
static const unsigned long animation
static const unsigned long audioCD
static const unsigned long audioTape
static const unsigned long cdxa
static INotificationId const commandNotifyId
static INotificationId const cuePointId
static const unsigned long dat
static INotificationId const deviceEventId
static const unsigned long digitalVideo
static const unsigned long headphone
static const unsigned long microphone
static const unsigned long monitor
static const unsigned long other
static const unsigned long overlay
static INotificationId const passDeviceId
static INotificationId const positionChangeId
static const unsigned long sequencer
static const unsigned long speaker
static const unsigned long videoDisc
static const unsigned long videoTape
static const unsigned long waveAudio
virtual INotifier& addObserver( IObserver& observer, const IInterest& interest )
virtual INotifier& notifyObservers( const INotificationId& id ) = 0
virtual IObserverList& observerList( const IInterest* anInterest = 0 ) const = 0
virtual INotifier& removeAllObservers() = 0
virtual INotifier& removeObserver(IObserver& observer) = 0
virtual INotifier& removeObserver( IObserver& observer, const IInterest& interest )
virtual IStandardNotifier& addObserver( IObserver& observer, const IInterest& interest )
virtual IStandardNotifier& notifyObservers( const INotificationId& nId )
virtual IObserverList& observerList( const IInterest* anInterest = 0 ) const
virtual IStandardNotifier& removeAllObservers()
virtual IStandardNotifier& removeObserver( IObserver& observer, const IInterest& interest )
virtual IStandardNotifier& removeObserver( IObserver& observer )
IMMMessageWindow& deviceWindow() const
IMMDevice( unsigned long deviceIdentifier, const IString& newAlias = IString ( ) )
IMMDevice(const IString& fileOrDevice)
unsigned long itemCapability( unsigned long item, CallType call ) const
unsigned long itemStatus( unsigned long item, unsigned long value = 0, CallType call = wait ) const
unsigned long lastError() const
virtual bool mixerControlValues( unsigned long dwComponentType, unsigned long dwControlType, unsigned short* usDetails, bool uniform = true, unsigned long multipleItems = 0, unsigned long hmx = NULL )
virtual bool mixerControlValues( unsigned long dwComponentType, unsigned long dwControlType, unsigned long* ulDetails, bool uniform = true, unsigned long multipleItems = 0, unsigned long hmx = NULL )
IMMDeviceNotifyHandler* notificationHandler() const
virtual IMMDevice& open( unsigned long instanceNumber, bool shareable = true, CallType call = nowait )
virtual IMMDevice& openOnThread( unsigned long instanceNumber, bool shareable = true )
OpenStatus openStatus() const
virtual IMMDevice& restoreDeviceSettings( bool newRecordMode = false )
virtual IMMDevice& saveDeviceSettings()
IString sendCommand(const IString& command)
IMMDevice& sendCommand( unsigned short message, unsigned long param1, void* param2, unsigned short userParm )
IMMDevice& sendCommand( unsigned short message, unsigned long param1, void* param2 )
IString sendCommand( const IString& command, unsigned short userParm )
IMMDevice& setLastError(unsigned long errorId)
virtual bool setMixerControlValues( unsigned long dwComponentType, unsigned long dwControlType, unsigned short* usDetails, bool uniform = true, unsigned long multipleItems = 0, unsigned long hmx = NULL )
virtual bool setMixerControlValues( unsigned long dwComponentType, unsigned long dwControlType, unsigned long* ulDetails, bool uniform = true, unsigned long multipleItems = 0, unsigned long hmx = NULL )
IMMDevice& setNotificationHandler( IMMDeviceNotifyHandler* notifyHandler )
IMMDevice& setOpenStatus(OpenStatus status)
IMMDevice& setPassDeviceRequested(bool sawPassDevice)
IMMDevice& setSystemMixerHandle(unsigned long hmx)
IMMDevice& setUserParameter(unsigned short userParm = 0)
unsigned long systemMixerHandle() const
unsigned short userParameter() const
bool wasPassDeviceRequested() const
virtual IMMFileMedia& enableDataUpdate(bool update = true)
IMMFileMedia( unsigned long deviceIdentifier, const IString& newAlias = IString ( ) )
IMMFileMedia( const IString& deviceName, bool openNow, unsigned long instance, bool openShareable )
virtual IMMFileMedia& open( unsigned long instanceNumber, bool shareable = true, CallType call = nowait )
virtual IMMFileMedia& openOnThread( unsigned long instanceNumber, bool shareable = true )
virtual IMMFileMedia& restoreDeviceSettings( bool newRecordMode = false )
virtual IMMFileMedia& saveDeviceSettings()
IMMConfigurableAudio( unsigned long deviceIdentifier, const IString& newAlias = IString ( ) )
IMMConfigurableAudio( const IString& deviceName, bool openNow = true, unsigned long instance = 0, bool openShareable = true )
virtual IMMConfigurableAudio& restoreDeviceSettings( bool newRecordMode = false )
virtual IMMConfigurableAudio& saveDeviceSettings()
IMMPlayableDevice( const IString& deviceOrFileName, bool openNow = true, unsigned long instance = 0, bool openShareable = true )
IMMPlayableDevice( unsigned long deviceIdentifier, const IString& newAlias = IString ( ) )
virtual IMMPlayableDevice& restoreDeviceSettings( bool newRecordMode = false )
virtual IMMPlayableDevice& saveDeviceSettings()
IMMRecordable( unsigned long deviceIdentifier, const IString& newAlias = IString ( ) )
IMMRecordable( const IString& deviceName, bool openNow, unsigned long instance, bool openShareable )
virtual IMMRecordable& restoreDeviceSettings( bool newRecordMode = false )
virtual IMMRecordable& saveDeviceSettings()