AudioLoader
memanggil scope.manager.itemEnd
(melalui file loader) setelah memuat buffer, tetapi onLoad
setelah decoding itu. Karena decoding buffer tidak sinkron (atau setidaknya, memiliki panggilan balik), Anda dapat masuk ke kondisi balapan jika pemuat audio adalah pemuat terakhir dalam antrean pengelola pemuatan, di mana manajer menganggap semua itemnya sudah selesai tetapi pemuat individual belum selesai menguraikan. Kami melihat ini dalam situasi pramuat kami dan harus menerapkan antrian pemuatan kami sendiri yang menggunakan onLoad
per item untuk menandai item yang lengkap.
Sayangnya, melihat sumber FileLoader/AudioLoader, saya tidak yakin bagaimana cara memperbaikinya atau apakah itu menjadi masalah; mungkin solusi termudah untuk hanya mengklarifikasi di dokumen bahwa LoadingManager#onLoad
hanya menunjukkan permintaan jaringan selesai, dan tidak menunjukkan bahwa data telah diuraikan.
Hmm, jadi saya kira AudioLoader tidak boleh meneruskan manajer ke FileLoader
dan memanggil fungsi itu sendiri?
Itu pasti akan memperbaikinya untuk pengelola pemuatan khusus. Manajer pemuatan default masih akan mengabaikan panggilan balik decoding, tetapi berapa banyak orang yang menggunakan manajer pemuatan default dalam konteks ini?
Saya mengalami masalah yang sama. Saat ini tidak mungkin memutar file audio dengan aman setelah panggilan balik manajer onLoad
diaktifkan.
Komentar yang paling membantu
Hmm, jadi saya kira AudioLoader tidak boleh meneruskan manajer ke
FileLoader
dan memanggil fungsi itu sendiri?