2015-12-28 4 views
0

Я хочу, чтобы петли музыки в моем приложении, поэтому я использую следующий код:MediaPlayer setLooping (правда) замораживание моего телефона

mediaPlayer = MediaPlayer.create(this, R.raw.music); 
mediaPlayer.setVolume(8f, 8f); 
mediaPlayer.start(); 
mediaPlayer.setLooping(true); 

Я пытаюсь запустить, а затем setLooping, проблему все еще там.

mediaPlayer = MediaPlayer.create(this, R.raw.music); 
mediaPlayer.setVolume(8f, 8f); 
mediaPlayer.setLooping(true); 
mediaPlayer.start(); 

Но когда музыка заканчивается, она не перезапускается, и мое приложение замедляется до полного замирания, но нет сбоя. Если я смотрю на журнал существует огромная последовательность:

MediaPlayer_Java: MEDIA_PAUSED 
MediaPlayer_Java: MEDIA_STARTED 

Мой телефон является Xperia M4 Аква.

Благодарим за помощь!

+0

Вы начинаете затем установить его в петлю. –

+0

Спасибо, но даже если я ставлю setLooping() после запуска(), это не сработает ... – sypotu

+0

Где вы пишете этот фрагмент кода? В onCreate()? Убедитесь, что он не находится внутри цикла while или для блоков цикла. –

ответ

1
mediaPlayer.setLooping(true); 

находится перед началом медиаплеера

+1

Спасибо, но даже если я ставил setLooping() после запуска(), он не работает ... – sypotu

+1

@sypotu использовать этот код Uri mediaUri = createUri (context, R.raw.media); // Audiofile в необработанной папке Mediaplayer mPlayer = new MediaPlayer(); mPlayer.setDataSource (контекст, mediaUri); mPlayer.setAudioStreamType (AudioManager.STREAM_MUSIC); mPlayer.prepare(); mPlayer.setLooping (true); mPlayer.start(); –