Здесь виновата плохая обработка исключений.
Скорее всего, элемент processor
не инициализируется. Если нет процессора, похоже, что вы ничего не можете сделать полезного. Так что позвольте исключению вылететь, прервав вашу обреченную программу в этот момент, вместо того, чтобы «проглотить» его и беспечно продолжить.
Кроме того, если вы собираетесь есть исключения и использовать солдат, хотя бы напечатайте их правильно: ex.printStackTrace()
вместо System.out.println(ex)
.
Но было бы гораздо лучше добавить в свои методы предложения throws
и не перехватывать никаких исключений, поскольку вы не можете восстановить их.
Возможно, кодек Indeo присутствовал на вашем компьютере с Windows XP, но недоступен на вашем компьютере с Vista. ( Обновление: Фактически, Indeo не поддерживается и не совместим с Vista. ) Это препятствует успешному созданию processor
, и ваша программа обречена с этого момента. Есть ли способ проверить, является ли конкретный FileTypeDescriptor
или VideoFormat
действительным во время выполнения?