首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android媒体播放器播放/暂停按钮

Android媒体播放器播放/暂停按钮
EN

Stack Overflow用户
提问于 2012-02-27 14:45:55
回答 6查看 94.3K关注 0票数 27

在我的项目中,我使用以下代码在android媒体播放器中播放音乐文件

代码语言:javascript
复制
MediaPlayer mPlayer = MediaPlayer.create(MyActivity.this, R.raw.myfile);
mPlayer.start();

以上代码是在单击播放按钮时编写的。我想通过单击播放/暂停的单个按钮( again.ie)来暂停播放。我该怎么做呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-02-27 14:50:42

您可以使用简单的if-check来处理暂停。试试这个:

代码语言:javascript
复制
if(mPlayer.isPlaying()){
    mPlayer.pause();
} else {
    mPlayer.start();
}
票数 62
EN

Stack Overflow用户

发布于 2012-02-27 14:51:13

在按钮内单击check for mediaPlayer.isPlaying()。如果媒体播放器播放的是else false,则返回true。

现在有了这个标志值,你可以做一个if语句,然后像这样切换到播放或暂停,

代码语言:javascript
复制
button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            if (mediaplayer.isPlaying()) {
                mediaplayer.pause();
            } else {
                mediaplayer.start();
            }
        }
    });
票数 5
EN

Stack Overflow用户

发布于 2012-08-31 19:02:49

下面的代码负责你的播放/暂停按钮点击事件,以及在提供的搜索栏(与媒体音轨同步)上前进和后退搜索的前进和后退按钮。目前它只播放一首歌曲。但是,您可以对其进行补充。这是我第一个使用mediaplayer class的媒体播放器,所以你可能会觉得它有点原始。但是,如果需要,您还可以查看VideoView示例。使用VideoView显然更容易,因为标准媒体控制台已经以预定义小部件的形式存在。所以这使得设计播放器变得容易得多。

代码语言:javascript
复制
package in.org.Test;

import android.app.Activity;
import android.media.MediaPlayer;

import android.os.Bundle;

import android.view.View;
import android.view.View.OnClickListener;

import android.widget.ImageButton;

import android.widget.ProgressBar;
import android.widget.SeekBar;

import android.widget.Toast;

public class Test12Activity extends Activity implements OnClickListener,Runnable {

    private static final String isPlaying = "Media is Playing"; 
    private static final String notPlaying = "Media has stopped Playing"; 

    private SeekBar seek;

    MediaPlayer player = new MediaPlayer();
     private ImageButton plus,minus;

    ImageButton im;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        plus = (ImageButton) findViewById(R.id.imageButton2);
        minus = (ImageButton) findViewById(R.id.imageButton3);


        player = MediaPlayer.create(this, R.raw.sound2);


        player.setLooping(false); 
        im = (ImageButton) this.findViewById(R.id.imageButton1);


        seek = (SeekBar) findViewById(R.id.seekBar1);
        seek.setVisibility(ProgressBar.VISIBLE);
        seek.setProgress(0);
        seek.setMax(player.getDuration());
        new Thread(this).start();


        im.setOnClickListener(this);
        player.start(); 

        Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show();


        plus.setOnClickListener(new OnClickListener()   {
            @Override
            public void onClick(View v) { int cu = player.getCurrentPosition();  player.seekTo(cu-5000); }});
        minus.setOnClickListener(new OnClickListener()  {
            @Override
            public void onClick(View v) {int cu = player.getCurrentPosition();  player.seekTo(cu+5000);}});


    }


    @Override
    public void onClick(View arg0) {
        if (arg0.getId() == R.id.imageButton1) {
        if(player.isPlaying())  {
        player.pause();

        Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show();
        ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1);

        img1.setImageResource(R.drawable.play);

         }
        else
        {
            player.start();
            Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show();

            ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1);
            img1.setImageResource(R.drawable.pause);
        }   
        }
      }

    @Override
    public void run() {
        int currentPosition= 0; String s;
        int total = player.getDuration();
        while (player!=null && currentPosition<total) {
            try {
                Thread.sleep(1000);
                currentPosition= player.getCurrentPosition();
            } catch (InterruptedException e) {
                return;
            } catch (Exception e) {
                return;
            }            

            seek.setProgress(currentPosition);


        }


    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9461056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档