Adakus :
내 안드로이드 프로젝트에 musicg 라이브러리를 구현하기 위해 노력하고 있습니다. 나는 성공적으로 내 프로젝트로 가져올 두 개의 오디오 파일을 비교하는 데 사용하고 그들 사이의 symilarity을 얻으려고했다.
여기 내 코드는 다음과 같습니다
final String rootPath = Environment.getExternalStorageDirectory().getPath() + "/Myapp/music/";
String p1 = rootPath + "outputfiles/1.wav";
String p2 = rootPath + "outputfiles/com.wav";
Wave w1 = new Wave(p1);
Wave w2 = new Wave(p2);
FingerprintSimilarity fingerprintSimilarity = w1.getFingerprintSimilarity(w2);
float score = fingerprintSimilarity.getScore();
float similarity = fingerprintSimilarity.getSimilarity();
Log.d("Similar sound :", "Score : " + score + "\n Similarity : "+ similarity);
나는 그것을 실행할 때하지만 내 응용 프로그램에서 추락 :
FingerprintSimilarity fingerprintSimilarity = w1.getFingerprintSimilarity(w2);
나는 또한 내 응용 프로그램을 디버깅했지만 오류가 디버그 보고서에보고되지 않습니다. 제발 도와주세요. 사전에 감사합니다
비아체슬라프 Vedenin :
존재하지 않는 파일이나 정확하지 웨이브 형식이 될 수 있습니까? 내가 좋아하는, 문제를보고하기 위해 더 많은 디버그 정보를 추가하는 것이 좋습니다 :
try {
final String rootPath = Environment.getExternalStorageDirectory().getPath() + "/Myapp/music/";
String p1 = rootPath + "outputfiles/1.wav";
Log.d("p1 " + p1);
File f1 = new File(p1);
Log.d("f1 " + f1.exists() && !f1.isDirectory());
String p2 = rootPath + "outputfiles/com.wav";
Log.d("p2 " + p2);
File f2 = new File(p2);
Log.d("f2 " + f2.exists() && !f2.isDirectory());
Wave w1 = new Wave(p1);
Log.d("w1 " + w1);
Wave w2 = new Wave(p2);
Log.d("w2 " + w2);
FingerprintSimilarity fingerprintSimilarity = w1.getFingerprintSimilarity(w2);
Log.d("fingerprintSimilarity " + fingerprintSimilarity );
float score = fingerprintSimilarity.getScore();
Log.d("score " + score );
float similarity = fingerprintSimilarity.getSimilarity();
Log.d("Similar sound :", "Score : " + score + "\n Similarity : "+ similarity);
} catch (Exception e) {
Log.d("Error" + e.getMessage());
}