微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取Android中MediaPlayer的当前状态

我没有多少经验,所以我从某处复制了代码;但现在我可以得到州媒体播放器;我想做的就是获取媒体播放器的当前状态,然后在播放时显示暂停按钮;暂停/缓冲时播放按钮;

我正在使用shoutcast流媒体;我想在最初加载时显示暂停按钮或加载状态(缓冲);当它被加载并开始播放暂停按钮时;当由于某种原因它再次开始缓冲时,它应该在主要活动上显示播放按钮或加载状态

这是我的代码;

public class Myradio extends AsyncTask implements OnBufferingUpdateListener {
    private static Context mContext;
    // private static MyProgressDialog pdialog;
    public static MediaPlayer mp = new MediaPlayer();
    private MediaPlayer mpLoop = new MediaPlayer();

    public Myradio(Context theContext) {
        mContext = theContext;
        mp.setonBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {

            public void onBufferingUpdate(MediaPlayer arg0,int arg1) {
                Log.v("Buffring Update","");
                // Todo Auto-generated method stub

            }
        });

    }

    public static void starTradio(String streamUrl) {
        mp.reset();

        mp.setonErrorListener(new MediaPlayer.OnErrorListener() {
            public boolean onError(MediaPlayer mp,int what,int extra) {
                Log.e(getClass().getName(),"Error in MediaPlayer: (" + what
                        + ") with extra (" + extra + ")");
                return false;
            }
        });
        try {
            mp.setDataSource(streamUrl);
            mp.prepare();
            mp.start();

        } catch (IllegalArgumentException e) {

        } catch (IllegalStateException e) {

        } catch (IOException e) {

        }
    }

    public static void stopRadio() {

        mp.stop();

    }

    public static void resumeRadio() {

        // mp.();
        // mp.setLooping(false);
        // mpLoop.stop();

    }

    @Override
    protected Object doInBackground(Object... params) {
        // Todo Auto-generated method stub
        return null;
    }

    @Override
    public void onBufferingUpdate(MediaPlayer mp,int percent) {
        // Todo Auto-generated method stub
        Log.v("Buffring Update","Buffring Update");
    }

}

解决方法

你可以这样做(见 here):

if(MediaPlayer.isPlaying()){
  //show the pause button
}
else{
  //show the play button
}

检查这个tut.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐