0

我想在用户单击按钮时添加声音效果。我试过这个:

case R.id.b_all_addresses_addAddress:
    // Getting the user sound settings
    AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
    float actualVolume = (float) audioManager
            .getStreamVolume(AudioManager.STREAM_MUSIC);
    float maxVolume = (float) audioManager
            .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    float volume = actualVolume / maxVolume;
    if (loaded)
        soundPool.play(soundID, volume, volume, 1, 1, 1f);
    else
        Toast.makeText(this, "could I hate you God more?", Toast.LENGTH_SHORT).show();

在我的创建中,我这样做了:

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
        soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
        soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
            @Override
            public void onLoadComplete(SoundPool soundPool, int sampleId,
                    int status) {
                loaded = true;
            }
        });
        soundID = soundPool.load(this, R.raw.thip, 1);

声音只有 6 KB。

我的问题

我听不见声音

4

1 回答 1

0

你在音量方面得到了什么价值?

它们应该在 0.1 和 0.99 之间。尝试使用 0.5 作为硬编码设置,看看是否有效。我依稀记得有人曾经在 SoundPool 中报告过一个“错误”,这意味着 0 和 1 表示“静音”,并且您的音量必须介于这两个值之间才能被听到。

另外:你的声音是什么格式的?并非所有手机都可以播放所有格式。有些需要ogg,有些可以使用WAV。

这适用于 HTC Sensation XE、Android 4.03:*WAV *2 通道 *16 位 PCM *44.1kHz

于 2013-11-24T17:43:14.190 回答