gpt4 book ai didi

android - 在mp.start();上做setImageResource如何?

转载 作者:行者123 更新时间:2023-12-03 00:06:34 25 4
gpt4 key购买 nike

在第一个OnCreate中,我有一个button_stop SetImageResource,当按下该按钮时,它会将图标更改为静音图标,尽管在我的代码中,我想输入一个在mp.start()时显示的函数。再执行一次SetImageResource,使同一按钮显示一个扬声器,而不是一个静音的图标。

我如何做到这一点,以便在mp.start();这个功能叫做?

button_stop.setImageResource(R.drawable.ic_action_volume_on);

我要做的是按下声音按钮(button_1,button_2),而button_stop显示扬声器图标。但是,当按下button_stop时,它会显示一个静音图标(并释放MediaPlayer)。

当按下button_stop时,我可以使其释放MediaPlayer并将图像更改为静音图标,但是在按下声音按钮(button_1等)后打开MediaPlayer后,我无法使其显示扬声器图标

到目前为止,这是我当前的代码。我尝试在onClick内输入SetImageResource,但随后它将停止正确调用MediaPlayer。
import android.app.Activity;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;

/**
* @author Prabu
*
*/
public class MainActivity extends Activity implements OnClickListener{
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Button button1=(Button)findViewById(R.id.button_1);
Button button2=(Button)findViewById(R.id.button_2);
final ImageView button_stop=(ImageView)findViewById(R.id.button_stop);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button_stop.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(null!=mp){
mp.release();
button_stop.setImageResource(R.drawable.ic_action_volume_muted);
}
}});
}

public void onClick(View v) {
int resId;
switch (v.getId()) {
case R.id.button_1:
resId = R.raw.a;
break;
case R.id.button_2:
resId = R.raw.b;
break;
default:
resId = R.raw.a;
break;
}
// Release any resources from previous MediaPlayer
if (mp != null) {
mp.release();
}
// Create a new MediaPlayer to play this sound
mp = MediaPlayer.create(this, resId);
mp.setLooping(true);
mp.start();

}{


}
@Override
protected void onDestroy() {
if(null!=mp){
mp.release();
}
super.onDestroy();
}}

最佳答案

因此,我对所需内容的理解只是在调用mp.start()时打开扬声器图像。我在您的mp.start()代码中仅看到一个实例,因此当发生这种情况时,它将更改“停止”按钮上的图像。

public void onClick(View v) {
int resId;
switch (v.getId()) {
case R.id.button_1:
resId = R.raw.a;
break;
case R.id.button_2:
resId = R.raw.b;
break;
default:
resId = R.raw.a;
break;
}
// Release any resources from previous MediaPlayer
if (mp != null) {
mp.release();
}
// Create a new MediaPlayer to play this sound
mp = MediaPlayer.create(this, resId);
mp.setLooping(true);
mp.start();

//This is the added code to set the stop button.
ImageView button_stop=(ImageView)findViewById(R.id.button_stop);
button_stop.setImageResource(R.drawable.ic_action_volume_on);

}

关于android - 在mp.start();上做setImageResource如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967745/

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