我有一个语音应用程序,当我打开声音并继续进行另一项活动并返回到正在播放声音的活动时,我想通过按站立按钮来关闭当前声音发生的错误是,当我退出活动并返回到活动状态,然后按停止按钮时,声音会继续打开,同时第一个声音继续播放,而我只想停止第一个声音。
package com.yasser.relaxandsleepsounds.ui.home.innerfragment.homeactivity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import com.yasser.relaxandsleepsounds.R;
import com.yasser.relaxandsleepsounds.databinding.ActivityRainpianoBinding;
public class RainpianoActivity extends AppCompatActivity {
//private MediaPlayer mMediaPlayer;
Context context;
Button start,stop;
private MediaPlayer mMediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature ( Window.FEATURE_NO_TITLE );
getWindow ().setFlags ( WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN );
// setContentView(R.layout.layout.activity_rainpiano);
final ActivityRainpianoBinding binding= DataBindingUtil.setContentView (this,
R.layout.activity_rainpiano );
// hid action bar
ActionBar actionBar = getSupportActionBar ();
assert actionBar != null;
actionBar.hide ();
binding.bbbb.setBackgroundResource(R.drawable.river_in_theforest);
mMediaPlayer = MediaPlayer.create ( RainpianoActivity.this,R.raw.rain_light );
mMediaPlayer.setLooping ( true );
// rainpianoViewModel.getmAlwanarRecourceID();
binding.play.setOnClickListener ( new View.OnClickListener () {
@Override
public void onClick(View v) {
if ( mMediaPlayer.isPlaying()){
mMediaPlayer.pause ();
binding.play.setBackground ( getResources ().getDrawable ( R.drawable.play8 ) );
}else {
mMediaPlayer.start();
binding.play.setBackground ( getResources ().getDrawable ( R.drawable.pause8 ) );
}
}
} );
}
}
我有一个语音应用程序,当我打开声音并继续进行其他活动并返回到播放声音的活动时,我想通过按站立按钮关闭当前声音...
我找到解决方案构建服务java类