为啥我的 SoundPool 声音没有在 onClick() 中同时播放?

Posted

技术标签:

【中文标题】为啥我的 SoundPool 声音没有在 onClick() 中同时播放?【英文标题】:Why are my SoundPool sounds not playing simultaneously in onClick()?为什么我的 SoundPool 声音没有在 onClick() 中同时播放? 【发布时间】:2010-09-24 03:39:31 【问题描述】:

当我点击时,下面的代码导致两个声音不是同时播放,而是顺序播放。为什么它们不能同时播放?

@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mytextview=(TextView) findViewById(R.id.textview);
    mytextview.setOnClickListener(this);

    sp=(SoundPool) new SoundPool(8,0x00000003,1);
    upSound=sp.load(this, R.raw.sound1, 1);
    downSound=sp.load(this, R.raw.sound2, 1);


    @Override
public void onClick(View v) 
    sp.play(downSound, VOLUME, VOLUME, 1, 0, 1);
    sp.play(upSound, VOLUME, VOLUME, 1, 0, 2);

【问题讨论】:

你想在用户操作上下时播放声音吗? 尝试使用媒体播放器播放第二个文件。然后它会同时播放。 【参考方案1】:

在处理声音文件时我看不到很多非常重要的信息: 不要使用 WAV !!!

您会看到奇怪的行为,这可能因手机而异。

始终使用 OGG !!!

【讨论】:

rly 帮助了我!多谢 !使用 .wav 它实际上表现得很奇怪。有时它正在播放,有时根本没有声音。使用一些在线转换器将其转换为 ogg 后,它的工作 ^^ thx【参考方案2】:

this question 可能重复。在对该问题的回答中,有一个指向 answer 的链接指向另一个问题,如果您仍在寻找可能会有所帮助的问题......

【讨论】:

以上是关于为啥我的 SoundPool 声音没有在 onClick() 中同时播放?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SoundPool 播放声音

使用 SoundPool 播放声音

Android 游戏 - SoundPool 没有在 Motorola Droid X2 上播放声音

SoundPool 中的声音不会在 android 中加载

Android SoundPool 不播放声音

SoundPool 没有播放?