android声音池没有出现

时间:2013-06-25 10:54:24

标签: android media-player

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

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。

我的问题

我听不到声音

1 个答案:

答案 0 :(得分:0)

你回收量的价值是什么?

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

另外:你的声音格式是什么?并非所有手机都能播放所有格式。有些人需要ogg,有些人对WAV很好。

这对我来说适用于HTC Sensation XE,Android 4.03: * WAV * 2频道 * 16位PCM * 44.1kHz的