【发布时间】:2014-07-31 21:46:45
【问题描述】:
我是 Android 的初学者。我想在 Android 中找到频率密度或音量幅度或使用 Android Media Player 播放 mp3 文件。我尝试了很多不同的方法,但都没有成功。你能帮帮我吗有了这个
我找到了这段代码,但它在录音机时间给出了 getMaxAmplitude() 值,但在播放 mp3 文件时没有得到。 以下是链接:What does Android's getMaxAmplitude() function for the MediaRecorder actually give me?
public double getNoiseLevel()
{
Log.d("SPLService", "getNoiseLevel() ");
int x = mRecorder.getMaxAmplitude();
double x2 = x;
Log.d("SPLService", "x="+x);
double db = (20 * Math.log10(x2 / REFERENCE));
//Log.d("SPLService", "db="+db);
if(db>0)
{
return db;
}
else
{
return 0;
}
}
我也参考 ringdroid 链接:https://code.google.com/p/ringdroid/
我也检查了 FFT,但它是在录制时间。我需要在播放音频文件(mp3 文件)时检测频率/幅度。
【问题讨论】:
-
包括您尝试过的内容。如果您显示您检查了文档的哪些部分,以及是否有任何让您感到困惑的地方,这会有所帮助。
-
对于声音分析,您需要使用 FFT(快速傅里叶变换)。
标签: android audio android-mediaplayer frequency