簡體   English   中英

如何修復SoundEffect qml中的“E libOpenSLES:Too many objects”

[英]How to fix “E libOpenSLES: Too many objects” in SoundEffect qml

我正在編寫一個小的Android音板應用程序,我在ListDelegate使用SoundEffect組件。 但是在按下一定數量的按鈕后(調用sound.play())它會停止播放聲音,我在應用程序輸出中出現此錯誤:

E libOpenSLES:太多對象W libOpenSLES:離開

Engine :: CreateAudioPlayer(SL_RESULT_MEMORY_FAILURE)

W聲音:無法創建AudioPlayer

在ListDelegate里面:

Rectangle{

   ...

  Button{
    id: delegateButton
    anchors.fill: parent
    Material.elevation: 0
    onPressed: sound.play();
  }

  SoundEffect{
    id: sound
    source: soundsource
  }
}

我能夠通過將聲音效果組件移出委托來修復它,並在單擊按鈕時動態更改音頻源,如下所示:

代表內部:

Rectangle{
 signal tapped();
   ...

  Button{
    id: delegateButton
    anchors.fill: parent
    Material.elevation: 0
    onPressed: tapped()
  }
}

在我的主頁內:

SoundEffect{
  id: sound
}

 ...

ListView{
  delegate:{
    ...

    onTapped: {sound.source = audiosource; sound.play()}
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM