Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo, ich hätte hier eine wichtige Frage,
kennt sich hier jemand mit LameOnJ aus?
Denn ich komm überhaupt nicht weiter,
und hätte da so einige Fragen.
1) Ich nutze derzeit die neueste Version, und da sind ja ein paar Testfiles dabei,
welche ich einfach mal kopiert hab um die generelle Funktion zu ertesten.
Und da gibts 2 Möglichkeiten:
-PlainAPI
-OOPAPI
Wo liegt da der unterschied?
2) Ich habe mal das 2 benutzt, mit folgendem code:
Code:
public static void testOOPAPI(String wavFile,String mp3File) throws Exception
{
// Based in the LAME example : Dll/Example.cpp
new File(mp3File).delete();
NativeTypeManager typeMgr = JNIEasy.get().getTypeManager();
LAMEOnJ lame = LAMEOnJ.get();
BeConfigLHV1 beConfig = lame.newBeConfigLHV1();
beConfig.setDwSampleRate(44100);
beConfig.setDwReSampleRate(0); // NO RESAMPLE
beConfig.setNMode(BladeMP3EncDLL.BE_MP3_MODE_JSTEREO);
beConfig.setDwBitrate(128);
//beConfig.setNPreset(LAME_QUALITY_PRESET.LQP_R3MIX);
beConfig.setDwMpegVersion(BladeMP3EncDLL.MPEG1);
beConfig.setDwPsyModel(0); // USE DEFAULT PSYCHOACOUSTIC MODEL
beConfig.setDwEmphasis(0); // NO EMPHASIS TURNED ON
beConfig.setBOriginal(true);
beConfig.setBWriteVBRHeader(true); // Write INFO tag
beConfig.setBNoRes(true);
lame.encode(wavFile,mp3File,beConfig,true);
}
public static void checkFiles(String mp3File, String mp3RefFile,
boolean fully)
throws IOException
{
File fileRes = new File(mp3File);
File fileRef = new File(mp3RefFile);
if (fileRef.length() == 0)
{
return; // Mounted Windows directory, cannot check
}
if (fileRef.length() != fileRes.length())
{
throw new RuntimeException("Bad Test, different files");
}
if (!fully)
{
return;
}
BufferedInputStream inputStream1 = new BufferedInputStream(new
FileInputStream(mp3File));
BufferedInputStream inputStream2 = new BufferedInputStream(new
FileInputStream(mp3RefFile));
byte[] inputBuff1 = new byte[10 * 1024];
byte[] inputBuff2 = new byte[10 * 1024];
int read;
do
{
read = inputStream1.read(inputBuff1, 0, inputBuff1.length);
read = inputStream2.read(inputBuff2, 0, inputBuff2.length);
for (int i = 0; i < read; i++)
{
if (inputBuff1[i] != inputBuff2[i])
{
throw new RuntimeException("Bad Test, different files");
}
}
}
while (read != 0);
inputStream1.close();
inputStream2.close();
}
public static void checkError(int err)
{
if (err != BladeMP3EncDLL.BE_ERR_SUCCESSFUL)
{
throw new RuntimeException("ERROR " + err);
}
}
Da bekom ich bei:
BeConfigLHV1 beConfig = lame.newBeConfigLHV1(); -> "mp3test.java": cannot find symbol; symbol : method newBeConfigLHV1(), location: class com.innowhere.lameonj.LAMEOnJ at line 157, column 36
und
lame.encode(wavFile,mp3File,beConfig,true); -> "mp3test.java": cannot find symbol; symbol : method encode(java.lang.String,java.lang.String,com.innowhere.lameonj.blade.BeConfigLHV1,boolean), location: class com.innowhere.lameonj.LAMEOnJ at line 171, column 12
Was ich so interpretiere wie wenns die obere Methode einfach ned gibt...