gpt4 book ai didi

java - 如何播放、停止和暂停在 android 中的媒体播放器实例上工作?

转载 作者:行者123 更新时间:2023-11-29 21:15:12 24 4
gpt4 key购买 nike

我想开发媒体播放器类型的应用程序,它有两个按钮,一个用于播放和暂停,一个用于停止。我在我的布局文件中使用了两个图像按钮,并在 Java 文件和我放在这里的代码中引用了它,但是当我点击停止按钮时,音频停止了,但我想重播音频文件;但我不能玩播放按钮。

下面是我的 Java 代码

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_aarti_fragment, container, false);

btnplay=(ImageButton)v.findViewById(R.id.btnplay);
btnstop=(ImageButton)v.findViewById(R.id.btnstop);
seekbar=(SeekBar)v.findViewById(R.id.seekbar);

mp = MediaPlayer.create(getActivity(), R.raw.arti);
btnstop.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
mp.stop();
btnplay.setImageResource(R.drawable.ic_action_play);
Toast.makeText(getActivity(), "Stop",Toast.LENGTH_LONG).show();

}
});
btnplay.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

if(mp.isPlaying())
{
mp.pause();
btnplay.setImageResource(R.drawable.ic_action_play);
Toast.makeText(getActivity(), "Pause",Toast.LENGTH_SHORT).show();
}
else
{ btnplay.setImageResource(R.drawable.ic_action_pause);
mp.start();
Toast.makeText(getActivity(), "Play",Toast.LENGTH_SHORT).show();
}
}
});

return v;
}

最佳答案

使用这个:

private BackgroundSound mBackgroundSound;
private MediaPlayer player;
public class BackgroundSound extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
player = MediaPlayer.create(HomePage.this, R.raw.background);
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
float actualVolume = (float) audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC);
float maxVolume = (float) audioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = actualVolume / maxVolume;
player.setLooping(true); // Set looping
player.setVolume(volume, volume);
player.start();
return null;
}
}

播放:

        mBackgroundSound = new BackgroundSound();
mBackgroundSound.execute();

停止:

        mBackgroundSound.cancel(true);
if (player != null) {
player.stop();
player.release();
}

暂停:

        if (player != null) {
player.pause();
}

关于java - 如何播放、停止和暂停在 android 中的媒体播放器实例上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com