나는 musicg 라이브러리에서 FingerprintSimilarity를 사용할 수 아니에요

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()); 
}

추천

출처http://43.154.161.224:23101/article/api/json?id=212842&siteId=1