简体   繁体   中英

Can't see the mediacontroller buttons

I have implemented the mediaplayer and mediacontroller but can't see the controller buttons like play/pause or the positionbar for the audio.The music starts playing but the GUI doesn't appear. Code:

package mybitchinapp.cortana.com.musica;

import android.media.AudioManager;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.MediaController;
import android.widget.MediaController.MediaPlayerControl;

public class MainActivity extends AppCompatActivity implements MediaPlayerControl {

    private MediaPlayer player;
    private MediaController controller;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        player = MediaPlayer.create(this, R.raw.music);
        player.setAudioStreamType(AudioManager.STREAM_MUSIC);
//        controller = new MediaController(MainActivity.this);
        setController();
        player.start();

    }

    private void setController () {
        controller = new MediaController(this);
        controller.setPrevNextListeners(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                playNext();
            }
        }, new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                playPrev();
            }
        });

        controller.setMediaPlayer(this);
        controller.setAnchorView(findViewById (R.id.main)); // This is the main activity
        controller.setEnabled(true);
        controller.show (10000);
    }

    public void playPrev () {

    }

    public void playNext () {

    }

    @Override
    protected void onPause() {
        super.onPause();
        player.pause();
    }



    @Override
    public boolean onTouchEvent(MotionEvent event) {
        controller.show ();
        return false;
    }

    @Override
    public void start() {
        player.start();
    }

    @Override
    public void pause() {
        player.pause();
    }

    @Override
    public int getDuration() {
        return 0;
    }

    @Override
    public int getCurrentPosition() {
        return 0;
    }

    @Override
    public void seekTo(int pos) {

    }

    @Override
    public boolean isPlaying() {
        return false;
    }

    @Override
    public int getBufferPercentage() {
        return 0;
    }

    @Override
    public boolean canPause() {
        return false;
    }

    @Override
    public boolean canSeekBackward() {
        return false;
    }

    @Override
    public boolean canSeekForward() {
        return false;
    }

    @Override
    public int getAudioSessionId() {
        return 0;
    }
}

I am a beginner so it might be an implementation mistake so please give the revised code too.

I haven't really been able to implement MediaController correctly (It still doesn't show up). So instead, as a stopgap measure, instead of MediaController, I used buttons for play/pause, forward/rewind and for the progressSlider, a SeekBar can be used.
http://www.androidhive.info/2012/03/android-building-audio-player-tutorial/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM