|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IVideoExporter
Provides access to members that control the video exporters.
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 map display window or scene/globe viewer.
RecordWindow specifies if the whole application window (ArcMap, ArcScene or ArcGlobe) rather than just the map display window or scene/globe viewer would be exported.
ShowSettingsDialog specifies if the codec settings dialog would be displayed when exporting using the ExportAnimation() method. The default is off.
UseCustomSize indicates if the export would be based on custom video size settings.
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 | |
---|---|
void |
exportAnimation(IAGAnimationTracks pTracks,
IAGAnimationEnvironment pAnimEnv,
IStatusBar pStatusBar)
Export the animation into a video file. |
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. |
void |
getCustomSize(int[] pWidth,
int[] pHeight)
The custom image size for video export. |
int |
getDataRate()
The maximum number of bytes per second. |
String |
getExportFileName()
The exported file name. |
String |
getFileExtension()
The file extension associated with the current exporter. |
String |
getFilter()
The filter string used in the CFileDialog class. |
int |
getFrameDuration()
The duration of each frame in milliseconds. |
int |
getFrameRate()
The frame rate in images per second. |
int |
getKeyFrameRate()
The frequency of keyframes in the video. |
String |
getName()
The name of the exporter. |
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 |
isResizeExportWindow()
Indicates if the viewer window is to be resized during video export. |
boolean |
isShowSettingsDialog()
Indicates if video compression settings dialog is to be displayed. |
boolean |
isUseCustomSize()
Indicates if a custom image size should be used. |
void |
putCustomSize(int width,
int height)
The custom image size for video export. |
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 |
setExportFileName(String fileName)
The exported file name. |
void |
setFrameDuration(int pFrameDuration)
The duration of each frame in milliseconds. |
void |
setFrameRate(int pImagesPerSecond)
The frame rate in images per second. |
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 |
setResizeExportWindow(boolean pbResizeExportWindow)
Indicates if the viewer window is to be resized during video export. |
void |
setShowSettingsDialog(boolean pbShowSettingsDialog)
Indicates if video compression settings dialog is to be displayed. |
void |
setUseCustomSize(boolean pbUseCustomSize)
Indicates if a custom image size should be used. |
Method Detail |
---|
String getName() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void exportAnimation(IAGAnimationTracks pTracks, IAGAnimationEnvironment pAnimEnv, IStatusBar pStatusBar) throws IOException, AutomationException
pTracks
- A reference to a com.esri.arcgis.animation.IAGAnimationTracks (in)pAnimEnv
- A reference to a com.esri.arcgis.animation.IAGAnimationEnvironment (in)pStatusBar
- A reference to a com.esri.arcgis.system.IStatusBar (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getFilter() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getFileExtension() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setExportFileName(String fileName) throws IOException, AutomationException
fileName
- The fileName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getExportFileName() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setFrameRate(int pImagesPerSecond) throws IOException, AutomationException
pImagesPerSecond
- The pImagesPerSecond (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getFrameRate() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setUseCustomSize(boolean pbUseCustomSize) throws IOException, AutomationException
Call pVideoExporter.PutCustomSize(500, 500)
pbUseCustomSize
- The pbUseCustomSize (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isUseCustomSize() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void putCustomSize(int width, int height) throws IOException, AutomationException
Call pVideoExporter.PutCustomSize(500, 500)
width
- The width (in)height
- The height (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void getCustomSize(int[] pWidth, int[] pHeight) throws IOException, AutomationException
pWidth
- The pWidth (out: use single element array)pHeight
- The pHeight (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.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
For AnimationExporterAVI, the default codec used by the video exporter is related to the quality setting. If the quality is below 90, then the Intel Indeo(R) Video R3.2 codec is used. Otherwise, the Cinepak Codec by Radius codec is used.
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
This property is used to control the quality of the exported video, which ranges from 0 to 100. For AVI exporter (AnimationExporterAVI), the default value is 90. For QuickTime exporter, the default value is 50.
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.void setResizeExportWindow(boolean pbResizeExportWindow) throws IOException, AutomationException
pbResizeExportWindow
- The pbResizeExportWindow (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isResizeExportWindow() 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 |