Подтвердить что ты не робот

Как сделать звуковой сигнал в андроиде?

Я бы хотел, чтобы мое приложение подавало звуковой сигнал с определенной частотой и продолжительностью. В эквиваленте Windows этого приложения (написанное в С#) я использовал dll С++ с функцией

beep(frequency, duration); 

Это то же самое в android? Или, по крайней мере, как я могу разместить dll dll в проекте?

Я бы предпочел не использовать предварительно встроенный mp3 или системный звук, потому что я хотел бы дать пользователю выбор частоты и продолжительности.

4b9b3361

Ответ 1

Если вы хотите использовать свой код на С++ в приложении Android, это возможно. Вам нужно взглянуть на Android NDK, который позволяет использовать код выполнения С++ с помощью JNI (Java Native Interface).

Android NDK

Ответ 2

Я попробовал ответить amine.b. Короче говоря, для воспроизведения громкого звукового сигнала:

ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); 

Ответ 3

Простым способом является использование экземпляра класса 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 для точного значения параметров и возможная конфигурация генератора.