2013-07-23 17 views
5

Boşluksuz çalma müzik çalar yapmak için setNextMediaPlayer() yöntemiyle çalışıyorum.MediaPlayer nesnesinin oynatılmaya başladığını nasıl anlayabilirim?

setNextMediaPlayer(), boşluksuz oynatmayı etkinleştirmek için harika bir yöntemdir, ancak gelecek olan şarkının bilgilerini düzenler için yenilemek için bir sorun oluştu. setNextMediaPlayer() yöntemini kullandığımda, çalmayı başlatmak için start() yöntemini kullanmam gerekmez, böylece oynatma tam olarak başladığında yakalamanın bir yolu yoktur. Alternatif olarak, bilgi yenileme yöntemimi onCompletion'a koyuyorum ancak bir sınırı var.

MediaPlayer nesnesinin oynatmaya başladığını algılayacak herhangi bir dinleyici var mı?

Eklendi Tarun Varshney cevabı >>>

Ben sorunsuz mp1 yanında mp2 oynamak için aşağıdaki setNextMediaPlayer() kullanıyorum sonra. **mp2.prepare();** yüzden onPreparedListener istediğim doğru zamanda denilen olmayacak çünkü zaten

mp2 = new MediaPlayer(); 
mp2.setDataSource(nextItem.getUri()); 
mp2.setOnCompletionListener(this); 
mp2.prepare(); 
mp1.setNextMediaPlayer(mp2); 

mp2

onun oynatma önce hazırlanan olabilir. mp2, setNextMediaPlayer mp1 parametresi olarak ayarlanmanın başka bir yolu var mı?

cevap

3
public void setOnPreparedListener (MediaPlayer.OnPreparedListener listener) 

Bu sizin için işe yarayabilir.

+0

VideoView.setOnPreparedListener kullanarak bitti. Bu benim sorunumu kapatmak için yeterliydi (duraklatmak için düğme çekilebilir değişiklik oynat) – Jay

+0

Hızlı yanıtınız için teşekkürler. Önceden hazırlanmış bir sonraki MediaPlayer Nesnesini zaten hazırlıyorum, lütfen ek soruma bakın. – Aerok

İlgili konular