Home Mediaplayer is playing random songs
Reply: 0

Mediaplayer is playing random songs

user44990
1#
user44990 Published in September 20, 2018, 12:44 pm

Im using the following code to play music.

if (mMediaPlayer.isPlaying()) {
            mMediaPlayer.reset();
            mMediaPlayer = new MediaPlayer();
            try {
                mMediaPlayer.setDataSource(MainActivity.localTrackList.get(MainActivity.currentOffset).getPath());
            } catch (IOException e) {
                e.printStackTrace();
            }
            mMediaPlayer.prepareAsync();

        } else {
            mMediaPlayer = new MediaPlayer();

            try {
                mMediaPlayer.setDataSource(MainActivity.localTrackList.get(MainActivity.currentOffset).getPath());
            } catch (IOException e) {
                e.printStackTrace();
            }
            mMediaPlayer.prepareAsync();
        }

Explanation:

  • when the user clicks a song for the first time, else loop will be executed.
  • If the user clicks a song when the mediaplayer is playing a song already, if loop will be executed
  • In my if loop, Im resetting the mediaplayer before setting the data source so it calls the onCompletion listener.

Follwing is my onCompletionListener.

mMediaPlayer.setOnCompletionListener(mp -> {
                    MainActivity.nextTrackController.performClick();
        });

Following is my nextTrackController onClickListener.

 MainActivity.nextTrackController.setOnClickListener(v -> {
            try {
                if (MainActivity.currentOffset < (MainActivity.localTrackList.size() - 1)) {
                    if (mMediaPlayer.isPlaying()) {
                        mMediaPlayer.stop();
                        mMediaPlayer.reset();
                    } else {
                        mMediaPlayer.reset();
                    }

                    MainActivity.currentOffset = MainActivity.currentOffset + 1;
                    mMediaPlayer.setDataSource(MainActivity.localTrackList.get(MainActivity.currentOffset).getPath());
                    mMediaPlayer.prepareAsync();
                } else {

                    if (mMediaPlayer.isPlaying()) {
                        mMediaPlayer.stop();
                        mMediaPlayer.reset();
                    }
                    MainActivity.currentOffset = 0;
                    mMediaPlayer.setDataSource(MainActivity.localTrackList.get(MainActivity.currentOffset).getPath());
                    mMediaPlayer.prepareAsync();
                }
            } catch (Exception ex) {

            }
        });

the problem is that,

  1. If the media player is playing and if the user is clicking a song, it is not playing the specific song that had been clicked but it plays some random song.
  2. If the song finished playing, it plays a random song instead of the next song. How can i be able to sort this out?
share|improve this question
  • Refer stackoverflow.com/questions/10916129/… – Anil Jadhav Sep 27 '16 at 7:54
  • does mediaplyer.reset calls onCompletionListener? – Hara Hara Mahadevaki Sep 27 '16 at 8:12

active oldest votes

Your Answer

StackExchange.ifUsing("editor", function () { StackExchange.using("externalEditor", function () { StackExchange.using("snippets", function () { StackExchange.snippets.init(); }); }); }, "code-snippets"); StackExchange.ready(function() { var channelOptions = { tags: "".split(" "), id: "1" }; initTagRenderer("".split(" "), "".split(" "), channelOptions); StackExchange.using("externalEditor", function() { // Have to fire editor after snippets, if snippets enabled if (StackExchange.settings.snippets.snippetsEnabled) { StackExchange.using("snippets", function() { createEditor(); }); } else { createEditor(); } }); function createEditor() { StackExchange.prepareEditor({ heartbeatType: 'answer', convertImagesToLinks: true, noModals: false, showLowRepImageUploadWarning: true, reputationToPostImages: 10, bindNavPrevention: true, postfix: "", onDemand: true, discardSelector: ".discard-answer" ,immediatelyShowMarkdownHelp:true }); } });
 
StackExchange.ready( function () { StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f39718918%2fmediaplayer-is-playing-random-songs%23new-answer', 'question_page'); } );

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged android android-mediaplayer or ask your own question.

StackExchange.ready(function(){$.get('/posts/39718918/ivc/3a21');});
StackExchange.ready(function () { StackExchange.responsiveness.addSwitcher(); }) (function(i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m); })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); StackExchange.ready(function () { StackExchange.ga.init({ sendTitles: true, tracker: window.ga, trackingCodes: [ 'UA-108242619-1' ] }); StackExchange.ga.setDimension('dimension2', '|android|android-mediaplayer|'); StackExchange.ga.setDimension('dimension3', 'Questions/Show'); StackExchange.ga.trackPageView(); }); /**/ var _qevents = _qevents || [], _comscore = _comscore || []; (function() { var ssl = 'https:' == document.location.protocol, s = document.getElementsByTagName('script')[0], qc = document.createElement('script'); qc.async = true; qc.src = (ssl ? 'https://secure' : 'http://edge') + '.quantserve.com/quant.js'; s.parentNode.insertBefore(qc, s); _qevents.push({ qacct: "p-c1rF4kxgLUzNc" }); /**/ var sc = document.createElement('script'); sc.async = true; sc.src = (ssl ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; s.parentNode.insertBefore(sc, s); _comscore.push({ c1: "2", c2: "17440561" }); })();
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.382979 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO