我希望在我的应用程序中使用一个包(
TarsosDSP
)SongTracker
。我可以导入 5 个库中的 4 个,但是第 5 个导入语句在尝试编译时出现错误:
import be.tarsos.dsp.io.android.AudioDispatcherFactory;
错误如下:
Cannot resolve symbol 'android'
我已经尝试过
构建 -> 清理项目
构建 -> 重建项目
都没有帮助。我不确定是否发布完整的构建输出,但这里是部分输出:
FAILURE: Build completed with 8 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find be.tarsos:dsp:2.4.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/be/tarsos/dsp/2.4/dsp-2.4.pom
- https://repo.maven.apache.org/maven2/be/tarsos/dsp/2.4/dsp-2.4.pom
- https://jcenter.bintray.com/be/tarsos/dsp/2.4/dsp-2.4.pom
- https://mvn.0110.be/releases/be/tarsos/dsp/2.4/dsp-2.4.pom
Required by:
project :app
背景
我已经构建了我的应用程序,它会打开 .txt 文件,以便可以查看所显示歌曲的单词和和弦(因此需要滚动)。我希望使用 TarsosDSP,以便应用程序可以使用设备麦克风“监听”每分钟的节拍数,并动态调整 .txt 文件的滚动速度。但是,在安装并运行所有相关库之前,我无法开始调整 TarsosDSP。
此方法设置中正在使用该库TarasosDSP:
// Initialize TarsosDSP audio processing for BPM detection
AudioDispatcher dispatcher = AudioDispatcherFactory.fromDefaultMicrophone(22050, 1024, 0);
AudioDispatcherFactory 以红色突出显示,Android Studio 指出:无法解析符号“AudioDispatcherFactory”。
在我的 build.gradle 文件中,我有以下依赖项:
// TarsosDSP library
implementation 'be.tarsos.dsp:core:2.5'
implementation 'be.tarsos.dsp:jvm:2.5'
implementation 'be.tarsos:dsp:2.4'
我还有其他四个相关的导入语句,所有这些似乎都没有问题:
import be.tarsos.dsp.AudioDispatcher;
import be.tarsos.dsp.AudioProcessor;
import be.tarsos.dsp.pitch.PitchDetectionHandler;
import be.tarsos.dsp.pitch.PitchProcessor;
下面是我的settings.gradle文件:
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
//maven { url 'https://jitpack.io' }
jcenter()
maven {
name = "TarsosDSP repository"
url = "https://mvn.0110.be/releases"
}
}
}
rootProject.name = "Song Tracker"
include ':app'
根据OP的评论,看来
import be.tarsos.dsp.io.android.AudioDispatcherFactory;
在导入的库版本中不存在,即主要流行的 Tarsos DSP 项目:https://github.com/JorenSix/TarsosDSP
并且在 Android 上
be.tarsos.dsp.io.jvm.AudioDispatcherFactory
无法直接使用。
将第三方库添加到 Android 项目的一般建议是检查任何可用的文档/问题票证(打开和关闭),以验证该项目是否存在 Android 支持,或者是否存在基础库的其他分支参考。由于 Android 一直在按一定规律(Android 权限、函数签名的更改等)发展其 API,因此应考虑检查支持和不支持的内容。