要指定有关转码操作的首选项,您必须向encode()调用提供一个it.sauronsoftware.jave.EncodingAttributes实例。 您可以创建自己的EncodingAttributes实例,并可以使用以下方法填充它:
public void setAudioAttributes(
it.sauronsoftware.jave.AudioAttributes audioAttributes
)
设置音频编码属性。 如果从未在新的EncodingAttributes实例上调用,或者给定参数为null,则编码文件中将不包含音频流。 另请参阅“音频编码属性”。
public void setVideoAttributes(
it.sauronsoftware.jave.AudioAttributes videoAttributes
)
它设置视频编码属性。 如果从未在新的EncodingAttributes实例上调用,或者给定参数为null,则编码文件中将不包含任何视频流。 另请参阅“视频编码属性”。
public void setFormat(java.lang.String format)
它设置将用于新编码文件的流容器的格式。 给定的参数表示格式名称。 编码格式名称仅当出现在使用的Encoder实例的getSupportedEncodingFormats()方法返回的列表中时才有效且受支持。
public void setOffset(java.lang.Float offset)
它设置代码转换操作的偏移量。 源文件将从其开始的偏移秒数开始重新编码。 例如,如果要剪切源文件的前五秒,则应在传递给编码器的EncodingAttributes对象上调用setOffset(5)。
public void setDuration(java.lang.Float duration)
它设置代码转换操作的持续时间。 仅源的持续时间秒数将被重新编码到目标文件中。 例如,如果您想从源中提取并转码三十秒的一部分,则应在传递给编码器的EncodingAttributes对象上调用setDuration(30)。
音频编码属性
音频编码属性由it.sauronsoftware.jave.AudioAttributes类的实例表示。 此类对象的可用方法是:
public void setCodec(java.lang.String codec)
它设置将用于音频流的代码转换的编解码器的名称。 您必须从当前Encoder实例的getAudioEncoders()方法返回的列表中选择一个值。 否则,您可以传递AudioAttributes.DIRECT_STREAM_COPY特殊值,该值需要从源文件复制原始音频流。
public void setBitRate(java.lang.Integer bitRate)
它为新的重新编码的音频流设置比特率值。 如果未设置比特率值,则编码器将选择默认值。 该值应以每秒位数表示。 例如,如果您想要128 kb / s的比特率,则应调用setBitRate(new Integer(128000))。
public void setSamplingRate(java.lang.Integer bitRate)
它为新的重新编码的音频流设置采样率。 如果未设置采样率值,则编码器将选择默认值。 该值应以赫兹表示。 例如,如果您想要类似CD的44100 Hz采样率,则应调用setSamplingRate(new Integer(44100))。
public void setChannels(java.lang.Integer channels)
它设置将在重新编码的音频流中使用的音频通道数(1 =单声道,2 =立体声)。 如果未设置任何通道值,则编码器将选择默认值。
public void setVolume(java.lang.Integer volume)
可以调用此方法来更改音频流的音量。 值为256表示没有音量变化。 因此,小于256的值表示音量减小,而大于256的值将增大音频流的音量。
视频编码属性
视频编码属性由it.sauronsoftware.jave.VideoAttributes类的实例表示。 此类对象的可用方法是:
public void setCodec(java.lang.String codec)
它设置将用于视频流转码的编解码器的名称。 您必须从当前Encoder实例的getVideoEncoders()方法返回的列表中选择一个值。 否则,您可以传递VideoAttributes.DIRECT_STREAM_COPY特殊值,该值需要从源文件复制原始视频流。
public void setTag(java.lang.String tag)
它设置与重新编码的视频流关联的标签/ fourcc值。 如果未设置任何值,则编码器将选择默认值。 多媒体播放器通常使用标签值来选择在流上运行哪个视频解码器。 在示例中,将使用播放器使用的默认DivX解码器对具有“ DIVX”标签值的MPEG 4视频流进行解码。 顺便说一下,这就是DivX的确切含义:带有附加的“ DIVX”标签/ fourcc值的MPEG 4视频流!
public void setBitRate(java.lang.Integer bitRate)
它为新的重新编码的视频流设置比特率值。 如果未设置比特率值,则编码器将选择默认值。 该值应以每秒位数表示。 例如,如果您想要360 kb / s的比特率,则应调用setBitRate(new Integer(360000))。
public void setFrameRate(java.lang.Integer bitRate)
它为新的重新编码的音频流设置帧速率值。 如果未设置比特率帧速率,则编码器将选择默认值。 该值应以每秒帧数表示。 例如,如果您想要30 f / s的帧速率,则应调用setFrameRate(new Integer(30))。
public void setSize(it.sauronsoftware.jave.VideoSize size)
它设置视频流中图像的大小和比例。 如果未设置任何值,则编码器将保留原始大小和比例。 否则,您可以使用首选大小传递it.sauronsoftware.java.VideoSize实例。 您可以使用像素值设置新编码视频的宽度和高度,以缩放原始视频。 例如,如果要将视频缩放到宽度为512像素,高度为384像素,则应调用setSize(new VideoSize(512,384))。
网友评论