这是我在 SO 上的第一篇文章,我正在尝试将我的音乐技能与计算机科学结合起来。
我正在使用带有 gradle 4.5、Nexus 5X、API 25、Android 7.1.1、Windows 7 的 Android Studio 3.1.2。
我非常小心地遵循了这些说明:
创建一个名为 Pitchbender 的项目
下载
.jar
TarsosDSP 并包含在C:\Users\Carlos\AndroidStudioProjects\Pitchbender\app\libs\TarsosDSP-Android-latest
我检查了
build.gradle
我的项目:dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) }
在我的项目中,Android Studio自动完成了以下导入:
import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import be.tarsos.dsp.AudioEvent import be.tarsos.dsp.io.android.AudioDispatcherFactory import be.tarsos.dsp.pitch.PitchDetectionHandler import be.tarsos.dsp.pitch.PitchDetectionResult import be.tarsos.dsp.pitch.PitchProcessor import kotlinx.android.synthetic.main.activity_main.* import be.tarsos.dsp.pitch.PitchProcessor.PitchEstimationAlgorithm import be.tarsos.dsp.AudioProcessor import android.widget.TextView import be.tarsos.dsp.AudioDispatcher
我的清单文件中有此权限
uses-permission android:name=”android.permission.RECORD_AUDIO”
Android Studio提供了将以下代码的第一行转换为 Kotlin 的选项:
AudioDispatcher dispatcher = AudioDispatcherFactory.fromDefaultMicrophone(22050,1024,0);
如果我对 Kotlin 转换响应“否”,则会出现以下编译错误:
分类器“AudioDispatcher”没有任何伴生对象,因此必须在这里初始化。
我能做些什么?
如果我对 Kotlin 转换问题回答“是”,则该语句将转换为
val dispatcher = AudioDispatcherFactory.fromDefaultMicrophone(22050, 1024, 0)
然后,当我运行这个程序时,Android 通知我有一个错误并关闭我的项目并继续关闭我的项目。该怎么办?
请帮助至少运行完整代码的第一条指令:
PitchDetectionHandler pdh = new PitchDetectionHandler() {
@Override
public void handlePitch(PitchDetectionResult res, AudioEvent e){
final float pitchInHz = res.getPitch();
runOnUiThread(new Runnable() {
@Override
public void run() {
processPitch(pitchInHz);
}
});
}
};
AudioProcessor pitchProcessor = new PitchProcessor(PitchEstimationAlgorithm.FFT_YIN, 22050, 1024, pdh);
dispatcher.addAudioProcessor(pitchProcessor);
Thread audioThread = new Thread(dispatcher, "Audio Thread");
audioThread.start();
问题:
您在Android Studio中是否有任何简单的项目,以便我可以看到我的错误是什么?