当前位置: 首页 > 知识库问答 >
问题:

Android Java-Soundpool声音由于某种原因停止播放

洪博艺
2023-03-14

嗯,我使用SoundPool在ImageView声音上进行onClick,其中一些声音开始了另一个活动。像这样:

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.main_menue_status:{
button_click.play(button_clickID, 1,1, 0, 0, 1); //this is SoundPoool's play
    Intent intent=new Intent(context,MainMenueActivity.class);
        startActivity(intent);
        finish();
    }

有什么建议吗?

UPD:日志:

12-01 19:04:49.797: E/AudioTrack(19981): AudioFlinger could not create track, status: -12
12-01 19:04:49.797: E/SoundPool(19981): Error creating AudioTrack

共有1个答案

壤驷乐邦
2023-03-14

“status:-12”,我认为是内存不足错误。此外,在活动中调用finish()并不能保证活动将立即完成并释放资源。

由于您有几个活动和几个声音池,我建议创建声音池,并在活动的onresume()方法中加载声音资源,然后在onPause()方法中卸载资源并释放声音池。

 类似资料:
  • 如何在曲目播放期间添加CSS类“playSound”?

  • 在我的手机和模拟器上,这似乎发生了15次中的1次。音响池将播放声音约3秒,然后停止。当我播放声音时,我反复得到这个消息,我理解这只是意味着不能使用低延迟模式。当声音停止时,不再产生这些警告。 我同时播放了很多片段,所以我明白这可能是一个问题,但我没有注意到播放的片段数量和这个错误之间的关系。然而,我读到和体验到的是,如果我试图播放太多的片段,声音池会开始跳过它们,但它不会一起停止。因此,我想知道这

  • 如何在按钮点击时发出随机的声音? 我对编程世界很陌生,我以前检查过上面的链接,试图用它作为播放随机声音的参考。我使用SoundPool因为我知道它比MediaPlayer更擅长播放短片段。我总共有四个声音。

  • 我正在使用名为SpeechRecognitor的android语音API,试图将语音转换为文本,但由于某种原因,只要我点击按钮,我就会看到“目前无法访问谷歌”的消息,窗口就会关闭,而不必等待我的语音。或者声音只是口吃,什么也没发生。 为什么?这个代码怎么了?我认为这段代码应该有效,因为对于其他人来说,它工作得很好。也许我的模拟器(Nexus One API 22)不支持此API?我只是不知道有什么

  • ap.stopBackgroundAudio(CALLBACK) 停止播放音乐。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <style>.output{ display:block; max-width: 100%;

  • 问题内容: 只是尝试删除所有文档,并这样做: 然后承诺: 我得到答复: 但是当我搜索时,我仍然会得到结果。 我做错什么了? 问题答案: 不确定是否重要,但是您也可以编码: 要尝试的另一件事是使用POST方法(调用update的首选方法):