当然,转码操作可能会失败。 然后encode()方法将传播一个异常。 根据发生的情况,异常将是以下之一:
-
java.lang.IllegalArgumentException
由于传递给编码器的编码属性已被识别为无效,因此转码操作从未开始。 通常,当提供给编码器的EncodingAttributes实例要求对没有音频和视频流(AudioAttributes和VideoAttribues属性均为null或未设置)的容器进行编码时,就会发生这种情况。 -
it.sauronsoftware.jave.InputFormatException
源文件无法解码。 当解码器不支持源文件容器,视频流格式或音频流格式时,就会发生这种情况。 您可以检查受支持的容器和插入的解码器,以调用编码器方法getSupportedDecodingFormats(),getAudioDecoders()和getVideoDecoders()。 -
it.sauronsoftware.jave.EncoderExpection
由于内部错误,该操作在转码期间失败。 您应该检查异常消息,还可以使用EncoderProgressListener实例检查编码器发出的任何消息。
网友评论