uggg what is wrong with this

13 views
Skip to first unread message

Evan

unread,
Jul 21, 2016, 1:53:35 PM7/21/16
to xuggler-users
package com.evanssound;
import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaListener;
import com.xuggle.mediatool.ToolFactory;
import com.xuggle.mediatool.MediaListenerAdapter;
import com.xuggle.mediatool.event.IReadPacketEvent;
import java.nio.ByteBuffer;
import java.util.LinkedList;
import java.nio.file.Paths;
import java.nio.ByteBuffer;
import java.nio.ShortBuffer;
import com.xuggle.mediatool.IMediaWriter;
import com.xuggle.xuggler.IPacket;
class Generator{
public static void main(String[] args){
if(args.length == 0){
System.out.printf("%s%n","Usage: Generator \"path\"");
return;
}
IMediaReader reader = ToolFactory.makeReader(args[0]);
reader.addListener(new GetTone());
for(;reader.readPacket() == null;){}
//got tone
String folderPathString = Paths.get(args[0]).getParent().toString();
for(int i = 88; i < 89; i++){
//make new file
IMediaWriter writer = ToolFactory.makeWriter(folderPathString+"/"+i+".flac");
writer.addAudioStream(0, 0, com.xuggle.xuggler.ICodec.ID.CODEC_ID_FLAC,1,44100);
//create audio
ByteBuffer bytes = ByteBuffer.allocate(tone.size());
ShortBuffer shorts = bytes.asShortBuffer();
short[] shortsArray = new short[shorts.capacity()];
for(Byte b : tone)
bytes.put(b.byteValue());
for(int ii = 0;shorts.hasRemaining();ii++)
shortsArray[ii] = shorts.get();
writer.encodeAudio(0,shortsArray);
writer.close();

}
}
static class GetTone extends MediaListenerAdapter{
@Override
public void onReadPacket(IReadPacketEvent event){
IPacket iPacket = event.getPacket();
byte[] dst = new byte[iPacket.getSize()];
iPacket.get(0,dst,0,dst.length);
for(byte b : dst){
tone.add(b);
}
}
}
private static LinkedList<Byte> tone = new LinkedList<>();
}



It's supposed to make a copy of the file right now but all it does is make static.
Reply all
Reply to author
Forward
0 new messages