|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IVideoExporterProperties
Provides access to members that are associated with exporting a video.
Codec is an acronym for 'compressor/decompressor'. An algorithm or scheme used when recording digital video. They are essentially programs to read and write animation videos. Different video formats (e.g. AVI, QuickTime) require different sets of codecs. A codec is required for a video to be exported. Windows has several codecs for AVI export. Installing the QuickTime player also installs QuickTime codecs. Additional codecs may reside on a machine when certain programs are installed and if third-party codecs are added.
CodecCode is the four character code (FOURCC) that uniquely identifies a codec.
CodecCodeList refers to the list of codec codes for the codecs available on a machine.
CodecList is the list of codec names for the codecs available on a machine. Each entry in the list is in the format CodecCode:CodecName (codec name prefixed with the four character code, separated by a colon).
ColorDepth means the color or gray scale resolution value to be used when exporting the video.
DataRate refers to the maximum number of bytes of data per second in the video. This can be used to adjust for hardware limitations during video playback.
FrameDuration indicates the duration of each video frame, in milliseconds.
IsInstalled property is currently applicable only to the QuickTime video exporter. If QuickTime player is not installed on a machine, QuickTime codecs would be unavailable. As a result, QuickTime videos can not be exported. This property checks if QuickTime codecs are available on a machine.
KeyFrameRate is the frequency with which key frames are inserted into the video.
Quality: Once a codec is selected, video can be exported at different qualities ranging from 1 to 100. The quality setting is directly propotional to the resolution and the video file size. A quality value of 200 allows lossless compression to be used if available in the codec.
RecordOffScreen specifies if the video export would be unaffected by other application windows that obscure the scene or globe viewer.
RecordWindow specifies if the whole application window (ArcScene or ArcGlobe) rather than just the scene or globe viewer would be exported.
ShowSettingsDialog specifies if the codec settings dialog would be displayed when exporting using ISceneExport3D::ExportScene() method. The default is off.
Some of the properties in this interface may not be applicable to the AVI exporter. They include IsInstalled, ColorDepth, KeyFrameRate, DataRate, and FrameDuration.
For AVI, all codec codes use upper cases. So querying a codec code always returns a string in upper case. When you assign a codec code, however, you can assign it in either case (but internally it always uses the upper case).
For QuickTime, codec code cases are mixed. Some use upper cases while others use lower cases. Therefore a developer needs to be careful because it's case sensitive. Pay special attention to some peculiar codecs when a four-letter codec code appears to only contain three letters - the last letter is actually a blank space. There're also some other rare codecs that have no codec names; they only have codec code used as an identifier.
Method Summary | |
---|---|
String |
getCodec()
The current video codec. |
String |
getCodecCode()
The current video codec's unique code. |
IStringArray |
getCodecCodeList()
The list of unique codes of available codecs. |
IStringArray |
getCodecList()
The list of names of available codecs. |
short |
getColorDepth()
The number of bits per pixel in each video frame. |
int |
getDataRate()
The maximum number of bytes per second. |
int |
getFrameDuration()
The duration of each frame in milliseconds. |
int |
getKeyFrameRate()
The frequency of keyframes in the video. |
int |
getQuality()
The quality of video compression (1-100). |
boolean |
isInstalled()
Indicates if the video exporter is installed. |
boolean |
isRecordOffScreen()
Indicates if video is to be recorded offscreen. |
boolean |
isRecordWindow()
Indicates if entire window is to be recorded. |
boolean |
isShowSettingsDialog()
Indicates if video compression settings dialog is to be displayed. |
void |
setCodec(String pCodecName)
The current video codec. |
void |
setCodecCode(String pCodecCode)
The current video codec's unique code. |
void |
setColorDepth(short pColorDepth)
The number of bits per pixel in each video frame. |
void |
setDataRate(int pDataRate)
The maximum number of bytes per second. |
void |
setFrameDuration(int pFrameDuration)
The duration of each frame in milliseconds. |
void |
setKeyFrameRate(int pKeyFrameRate)
The frequency of keyframes in the video. |
void |
setQuality(int pQualityPercent)
The quality of video compression (1-100). |
void |
setRecordOffScreen(boolean pbRecordOffScreen)
Indicates if video is to be recorded offscreen. |
void |
setRecordWindow(boolean pbRecordAppWindow)
Indicates if entire window is to be recorded. |
void |
setShowSettingsDialog(boolean pbShowSettingsDialog)
Indicates if video compression settings dialog is to be displayed. |
Method Detail |
---|
boolean isInstalled() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IStringArray getCodecList() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IStringArray getCodecCodeList() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setCodec(String pCodecName) throws IOException, AutomationException
pCodecName
- The pCodecName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getCodec() throws IOException, AutomationException
The Codec property is an identifier showing what the current codec is used when exporting to a video format. When you check for the Codec property, be it an AVI or QuickTime video, it's always in Code:Codec format, where the Code is a four-letter string that uniquely identifies a particular codec. The codec name proper (i.e. the codec name without the four-letter code name and the colon in front), however, may not be unique in some situations. For some AVI codecs, the name proper could even be blank. In this scenario the only identifier for that codec would be the four-letter code. Some codec code names (i.e. the four-letter string) may appear as three-letter codes - the fourth one is just a blank space, which is also a valid character. All the four-letter code names are not case sensitive.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setCodecCode(String pCodecCode) throws IOException, AutomationException
pCodecCode
- The pCodecCode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getCodecCode() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setColorDepth(short pColorDepth) throws IOException, AutomationException
pColorDepth
- The pColorDepth (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.short getColorDepth() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setQuality(int pQualityPercent) throws IOException, AutomationException
pQualityPercent
- The pQualityPercent (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getQuality() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setKeyFrameRate(int pKeyFrameRate) throws IOException, AutomationException
pKeyFrameRate
- The pKeyFrameRate (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getKeyFrameRate() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setDataRate(int pDataRate) throws IOException, AutomationException
pDataRate
- The pDataRate (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getDataRate() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setFrameDuration(int pFrameDuration) throws IOException, AutomationException
pFrameDuration
- The pFrameDuration (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getFrameDuration() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setRecordWindow(boolean pbRecordAppWindow) throws IOException, AutomationException
pbRecordAppWindow
- The pbRecordAppWindow (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isRecordWindow() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setRecordOffScreen(boolean pbRecordOffScreen) throws IOException, AutomationException
pbRecordOffScreen
- The pbRecordOffScreen (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isRecordOffScreen() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setShowSettingsDialog(boolean pbShowSettingsDialog) throws IOException, AutomationException
pbShowSettingsDialog
- The pbShowSettingsDialog (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isShowSettingsDialog() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |