为了账号安全,请及时绑定邮箱和手机立即绑定

我无法使用音乐库中的 FingerprintSimilarity

我无法使用音乐库中的 FingerprintSimilarity

繁星coding 2021-09-29 16:33:28
我正在尝试在我的 android 项目中实现 musicg 库。我已经成功地将它导入到我的项目中,并尝试使用它来比较两个音频文件并获得它们之间的相似性。这是我的代码: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);我也调试了我的应用程序,但调试报告中没有报告错误。请帮我。先感谢您
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

可能是文件不存在或波形格式不正确?我建议添加更多调试信息以查看问题,例如:


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

}


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信