Я продолжаю получать исключение, когда закрываю IMediaWriter, выполняя простое перекодирование. Исключением является «java.lang.RuntimeException: ошибка. Операция не разрешена, не удалось записать трейлер в test.mp3». Я получаю это всякий раз, когда вызываю IMediaWriter.close(). Есть идеи, почему я должен получить это для простого перекодирования? Вот пример кода:
IMediaReader reader = null;
IMediaWriter writer = null;
try {
reader = ToolFactory.makeReader("test.wav");
writer = ToolFactory.makeWriter("test.mp3", reader);
reader.addListener(writer);
while (reader.readPacket() == null) ;
reader.close();
writer.close();
} catch (Exception ex) {
ex.printStackTrace();
}
writer.close()
, используя точку останова или вечный цикл. Затем вручную скопируйтеtest.mp3
и попробуйте воспроизвести этот новый файл с помощью нескольких различных программных аудиоплееров. Есть ли аудиоданные? -- Иными словами, проблема только в закрытии писателя? - person Luke   schedule 14.11.2013