1

这是我第一次在这个表格上提问。我的问题有 2 个部分。

首先请看下面的代码,使用 Xuggle 从视频文件中提取音频。

IMediaReader reader;
File f;
reader = ToolFactory.makeReader("E:\\NetBeanWorkspace\\Repo\\VideoSamples\\one.mp4");   
f  =  new File("E:\\NetBean Workspace\\Repo\\VideoSamples\\"+"one"+".wav");                 
IMediaWriter mediaWriter =ToolFactory.makeWriter(f.getAbsolutePath(), reader);    
int sampleRate = 44100;    
int channels = 2;    
mediaWriter.addAudioStream(0, 0, ICodec.ID.CODEC_ID_ADPCM_IMA_WAV, channels, sampleRate);    
reader.addListener(mediaWriter);    
mediaWriter.setMaskLateStreamExceptions(true);

    while(  reader.readPacket() == null  );    
  1. 我在某些文件上收到以下错误,并且某些文件工作正常。

    java.lang.IllegalArgumentException:流 [0] 不是 com.xuggle.mediatool.MediaWriter.encodeVideo(MediaWriter.java:754) 的视频,位于 com.xuggle.mediatool.MediaWriter.encodeVideo(MediaWriter.java:783) 的 com。 xuggle.mediatool.MediaWriter.onVideoPicture(MediaWriter.java:1434) at com.xuggle.mediatool.AMediaToolMixin.onVideoPicture(AMediaToolMixin.java:166) at com.xuggle.mediatool.MediaReader.dispatchVideoPicture(MediaReader.java:610) at com .xuggle.mediatool.MediaReader.decodeVideo(MediaReader.java:519) at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:475) at audioextractor.AudioExtractor.main(AudioExtractor.java:108)

  2. 提取 16 位 WAV 文件的最佳编解码器是什么。

请帮我找到这两个问题的答案。

4

0 回答 0