我正在使用媒体播放器。
我可以选择启动,停止和暂停播放器。我遇到的问题是我找不到从以前暂停的那一天开始恢复歌曲的选项。
任何提供的帮助都会非常有用。
答案 0 :(得分:101)
感谢您的关注,但我自己也有了
暂停我使用的Mediaplayer:
Mediaplayer.pause();
length=Mediaplayer.getCurrentPosition();
并且从最近停止的位置恢复玩家是通过以下方式完成的:
Mediaplayer.seekTo(length);
Mediaplayer.start();
答案 1 :(得分:27)
我认为您应该查看此处的文档:http://developer.android.com/reference/android/media/MediaPlayer.html
来自文档的一些引用:
可以暂停和停止播放, 并且当前播放位置可以 调整。播放可以暂停 通过暂停()。当暂停的调用() 返回,MediaPlayer对象进入 暂停状态。请注意 从Started状态转换为 暂停状态,反之亦然 在播放器中异步发生 发动机。可能需要一些时间 状态在呼叫中更新 isPlaying(),它可以是一些 流式传输时的秒数 内容。
- 调用start()恢复 播放已暂停的MediaPlayer 对象,以及恢复播放 位置与它的位置相同 暂停。当调用start()时 返回,暂停的MediaPlayer对象 回到已启动状态。
- 调用pause()对a没有影响 已经在的MediaPlayer对象 暂停状态。
各州解释说:
引用MediaPlayer的start()方法
public void start()
开始或恢复 回放。如果以前播放过 暂停后,播放将继续 从它暂停的地方。如果播放 已经停止,或从未开始 之前,播放将从 开始。
因此,要直接回答您的问题,要从暂停的位置恢复暂停的MediaPlayer实例,请在该实例上再次使用start()。
答案 2 :(得分:15)
在接受的答案中,正确的顺序是:
Mediaplayer.start();
Mediaplayer.seekTo(length);
答案 3 :(得分:1)
如果您使用两个按钮进行播放,一个用于暂停,则以下代码正在运行并尝试:
playbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPlayer = MediaPlayer.create(MainActivity.this,
R.raw.adhan);
if (mPlayer.isPlaying()) {
} else {
mPlayer.seekTo(length);
mPlayer.start();
}
}
});
pausebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPlayer.pause();
length = mPlayer.getCurrentPosition();
}
});
答案 4 :(得分:0)
当使用seekTo时,我发现它经常在曲目的开头播放,然后从seekTo设置的位置继续播放。
对我有用的是静音音量,然后在currentProgress与当前搜索匹配(存储在全局)时将其重新启动。
答案 5 :(得分:0)
public class MainActivity extends AppCompatActivity {
MediaPlayer mediaPlayer;
public void play(View view) {
mediaPlayer.start();
}
public void pause(View view){
mediaPlayer.pause();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer= MediaPlayer.create(this,R.raw.someaudio);
}
}
制作两个播放和暂停按钮。并使用此代码。它对我有用。
答案 6 :(得分:-1)
package com.mycompany.audiodemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.media.MediaPlayer;
import android.view.View;
public class MainActivity extends AppCompatActivity {
MediaPlayer mediaPlayer=null;
int playPosition=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(this,R.raw.sampleaudio);
}
public void playAudio(View view){
//mediaPlayer.seekTo(playPosition);
mediaPlayer.start();
}
public void pauseAudio(View view){
mediaPlayer.pause();
//playPosition = mediaPlayer.getCurrentPosition();
}
}