Open GoogleCodeExporter opened 9 years ago
Yes, that's right, it's not supported yet. If you have some changes to
contribute, please attach them here for review! Thanks
Original comment by samuel.a...@gmail.com
on 10 May 2013 at 7:51
BTW, FFmpegFrameRecorder does support audio conversion, so it should be
possible to refer to it and do something similar in FFMpegFrameGrabber.
Original comment by samuel.a...@gmail.com
on 11 May 2013 at 9:50
I am going to upload the changes i've made to FFMpegFrameGrabber once i have it
sorted.
Thanks
Original comment by klomm...@gmail.com
on 19 May 2013 at 4:27
[deleted comment]
Hi, I'm facing the same problem. Could anyone provide the fix of
FFMpegFrameGrabber?
I really need it asap.
Thanks
Original comment by trieutri...@gmail.com
on 20 Jul 2013 at 4:05
Hi, I'm desperate, I do not get sound on this file to sound good. The ringing
sound is full of noise. Can someone help me out? or show me how I do it? Thank
you very much.
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("c:\\com4j\\video.avi");
// Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 192 kb/s
grabber.setSampleFormat(avcodec.AV_CODEC_ID_AC3);
grabber.start();
CanvasFrame cff = new CanvasFrame("Playing");
System.out.println("Caneles de audio: " +grabber.getAudioChannels());
System.out.println("Samplerate: " +grabber.getSampleRate());
System.out.println("getSampleFormat: " +grabber.getSampleFormat());
//AudioFormat audioFormat = new AudioFormat(grabber.getSampleRate(), 192, grabber.getAudioChannels(), true, false);
AudioFormat audioFormat = new AudioFormat(grabber.getSampleRate(), 16, grabber.getAudioChannels(), true, true);
DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
SourceDataLine soundLine = (SourceDataLine) AudioSystem.getLine(info);
soundLine.open(audioFormat);
soundLine.start();
while(true) {
Frame frame = grabber.grabFrame();
if(frame != null) {
if(frame.image != null) {
cff.showImage(frame.image);
}
else if(frame.samples != null) {
FloatBuffer baSamples = (FloatBuffer) frame.samples[0];
//ByteBuffer byteBuffer = ByteBuffer.allocate(baSamples.capacity() * 4);
byte[] output = new byte[baSamples.capacity() * 4];
ByteBuffer.wrap(output).asFloatBuffer().put(baSamples);
soundLine.write(output, 0, output.length);
}
}
else {
break;
}
}
Original comment by rafaaran...@gmail.com
on 30 Mar 2014 at 1:24
Original issue reported on code.google.com by
klomm...@gmail.com
on 9 May 2013 at 3:11