Я использую библиотеку acrcloud-android-sdk-1.5.9.jar
, пытающуюся извлечь некоторые метаданные из acr, но ВСЕГДА получаю одинаковую ошибку для всех файлов.Я не могу перестать думать, что я читаю файл неправильно, кто-нибудь может помочь?
Я уже дважды проверил ведро, хост, ключ и секрет проекта и все совпадения.Я также пытался изменить способ получения байтов из файла, пытался получить метаданные из множества разных песен, но ничего не получалось.
открытый класс Recognizer {ACRCloudClient client;
public void Recognizer() {
client = new ACRCloudClient();
ACRCloudConfig config = new ACRCloudConfig();
config.accessKey = "k";
config.accessSecret = "s";
config.host = "h";
config.context = App.binder.get();
config.reqMode = ACRCloudConfig.ACRCloudRecMode.REC_MODE_REMOTE;
config.acrcloudResultWithAudioListener = new IACRCloudResultWithAudioListener() {
@Override public void onResult(ACRCloudResult acrCloudResult) {
Log.d(App.myFuckingUniqueTAG + "Recognizer", "onResult: 1" + acrCloudResult.getResult());
}
@Override public void onVolumeChanged(double v) {
Log.d(App.myFuckingUniqueTAG + "Recognizer", "onVolumeChanged: 1" + v);
}
};
config.acrcloudListener = new IACRCloudListener() {
@Override public void onResult(String s) {
Log.d(App.myFuckingUniqueTAG + "Recognizer", "onResult: 2 " + s);
}
@Override public void onVolumeChanged(double v) {
Log.d(App.myFuckingUniqueTAG + "Recognizer", "onVolumeChanged: " + v);
}
};
Log.d(App.myFuckingUniqueTAG + "Recognizer", "Recognizer: chicking: Initialized? " + client.initWithConfig(config));
final Track track = new NativeTracks().getTracksByName("Stressed out").get(0);
Log.d(App.myFuckingUniqueTAG + "Recognizer", "Recognizer: " + track.getTitle() + " " + track.getAlbum().getName() + " " + track.getArtist().getArtistName());
Runnable mRunnable = new Runnable() {
@Override
public void run() {
try {
recognize(track.getFilePath());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
new Thread(mRunnable).start();
}
private void recognize(String path) throws IOException {
File file = new File(path);
byte[] b = new byte[(int) file.length()];
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(b);
String result = client.recognize(b, b.length);
Log.d(App.myFuckingUniqueTAG + "Recognizer", "recognize: " + result + " <> " + b.length);
}
}