31

我希望我的应用程序发出特定频率和持续时间的哔声。在这个应用程序的 Windows 等效项(用 c# 编写)中,我使用了一个带有函数的 c++ dll

beep(frequency, duration); 

这在android中是一样的吗?或者至少我怎样才能将我的 c++ dll 放入项目中?

我不想使用预先构建的 mp3 或系统声音,因为我想让用户选择频率和持续时间。

4

3 回答 3

90

我试过 amine.b 的回答。简而言之,播放响亮的哔声:

ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); 
于 2013-12-14T03:03:42.253 回答
15

简单的方法是使用ToneGenerator类的实例:

// send the tone to the "alarm" stream (classic beeps go there) with 50% volume
ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 50);
if (val >= taux_max) {
    taux_text.setTextColor(warnning_col);
    toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); // 200 is duration in ms
}

有关参数的确切含义和生成器的可能配置,ToneGenerator请参阅文档。AudioManager

于 2013-02-22T00:37:53.580 回答
0

如果您想在 android 应用程序中使用您的 C++ 代码,这是可能的。您需要查看 Android NDK,它允许您在 JNI(Java 本机接口)的帮助下使用执行 C++ 代码。

安卓NDK

于 2012-08-28T08:06:57.653 回答