2
在Libgdx(面向Android開發)中,我正面臨此問題,因此有時候播放的聲音無法播放。據我所知,這是當一個老的聲音沒有完成播放。有沒有辦法跟蹤當前正在播放的聲音,並阻止他們播放新的聲音。我有一個循環的音樂在後臺運行,但這並不會導致它移除它也會導致相同的聲音不匹配。我通過AssetManager加載聲音。希望你們能提前幫助,thanx!Libgdx停止當前正在播放的聲音並播放一個新聲音
在Libgdx(面向Android開發)中,我正面臨此問題,因此有時候播放的聲音無法播放。據我所知,這是當一個老的聲音沒有完成播放。有沒有辦法跟蹤當前正在播放的聲音,並阻止他們播放新的聲音。我有一個循環的音樂在後臺運行,但這並不會導致它移除它也會導致相同的聲音不匹配。我通過AssetManager加載聲音。希望你們能提前幫助,thanx!Libgdx停止當前正在播放的聲音並播放一個新聲音
如果您想確定聲音是否正在播放,那麼您不應該這樣做。當然你可以通過存儲長度和時間來做到這一點,但Sound
被創建爲火併忘記。
您可以使用Music
和剛纔使用的isPlaying()
方法。
方法play()
返回新聲音實例的ID。您可以將ID存儲在數組中,然後使用stop(id)
來停止所需的聲音,或者僅使用stop()
來停止該聲音的所有實例。
我也建議檢查文件大小從libGDX GitHub的維基:
注:在Android上,一個聲音實例不能大小超過1MB。如果你 有一個更大的文件,使用音樂
我是對的論點,聲音不播放,因爲舊的聲音仍在播放? –
'play()'應該總是創建新的實例,所以它不應該對舊的實例做任何事情,但可能會有限制。 – pr0gramist
我已經通過加載沒有assetmanager的聲音來解決它 –