Android SoundPool 不播放声音
Posted
技术标签:
【中文标题】Android SoundPool 不播放声音【英文标题】:Android SoundPool plays no sound 【发布时间】:2020-02-19 14:58:13 【问题描述】:我想在使用 SoundPool 单击按钮时播放短声。但是,当单击按钮时,尽管日志告诉我它已加载并“正在播放”,但没有出现任何声音。声音文件是一个 .ogg 以防万一。这是我的代码,buttonSound()
在onCreate()
中被调用。
void buttonSound()
AudioAttributes attributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build();
soundPool = new SoundPool.Builder().setAudioAttributes(attributes).build();
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener()
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status)
Log.d("SOUNDPOOL", "COMPLETE "+button);
);
button = soundPool.load(this, R.raw.button, 1);
public void onClick(View view)
switch (view.getId())
case R.id.button_back:
// Sound loaded
if(button != 0)
soundPool.play(button, 1f, 1f, 1, 0, 1f);
Log.d("PLAYING", "PLAYING");
break;
【问题讨论】:
【参考方案1】:所以显然AudioAttributes.USAGE_ASSISTANCE_SONIFICATION
是问题所在,它适用于AudioAttributes.USAGE_GAME
和AudioAttributes.USAGE_MEDIA
。不过,我不知道为什么。
【讨论】:
以上是关于Android SoundPool 不播放声音的主要内容,如果未能解决你的问题,请参考以下文章
Android SoundPool 不播放 wav 格式的声音
为啥我的 SoundPool 声音第一次在 Android 上没有播放?
Android SoundPool 在播放另一个声音之前不会第二次播放相同的声音
Android 游戏 - SoundPool 没有在 Motorola Droid X2 上播放声音
如何使用 Android 动画播放“滴答滴答”声音(可能使用“Android MediaPlayer / SoundPool”)?