[英]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.