Android 安卓音板暂停
我的音板有问题,我对编程很陌生,需要一些专业人士的帮助 问题是,当我按下home(主页)按钮或return(返回)按钮时,我的音板没有停止。我需要它来暂停声音或停止声音。这是代码,希望您能提供帮助Android 安卓音板暂停,android,button,android-mediaplayer,Android,Button,Android Mediaplayer,我的音板有问题,我对编程很陌生,需要一些专业人士的帮助 问题是,当我按下home(主页)按钮或return(返回)按钮时,我的音板没有停止。我需要它来暂停声音或停止声音。这是代码,希望您能提供帮助 package com.example.firstly; import java.io.IOException; import android.app.Activity; import android.content.res.AssetFileDescriptor; import android.
package com.example.firstly;
import java.io.IOException;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.content.res.Resources;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Mymenu extends Activity {
int selectedSoundId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
final MediaPlayer player = new MediaPlayer();
final Resources res = getResources();
//just keep them in the same order, e.g. button01 is tied to backtoyou
final int[] buttonIds = { R.id.dinal, R.id.ele, R.id.syl,
R.id.amel, R.id.krz, R.id.mar,
R.id.sra, R.id.bab, R.id.har,
R.id.kur, };
final int[] soundIds = { R.raw.dinal_ama, R.raw.daj_ama, R.raw.syl_ama,
R.raw.ame_ama, R.raw.krzy_ama, R.raw.marihuanen_ama,
R.raw.srac_ama, R.raw.zajeb_ama, R.raw.hardcore_ama,
R.raw.oookurwa_ama, };
View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
//find the index that matches the button's ID, and then reset
//the MediaPlayer instance, set the data source to the corresponding
//sound effect, prepare it, and start it playing.
for(int i = 0; i < buttonIds.length; i++) {
if(v.getId() == buttonIds[i]) {
selectedSoundId = soundIds[i];
AssetFileDescriptor afd = res.openRawResourceFd(soundIds[i]);
player.reset();
try {
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.start();
break;
}
}
}
};
//set the same listener for every button ID, no need
//to keep a reference to every button
for(int i = 0; i < buttonIds.length; i++) {
Button soundButton = (Button)findViewById(buttonIds[i]);
registerForContextMenu(soundButton);
soundButton.setOnClickListener(listener); }
}
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
}
package.com.example.first;
导入java.io.IOException;
导入android.app.Activity;
导入android.content.res.AssetFileDescriptor;
导入android.content.res.Resources;
导入android.media.AudioManager;
导入android.media.MediaPlayer;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
公共类Mymenu扩展活动{
int-selectedSoundId;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
最终MediaPlayer=新MediaPlayer();
最终资源res=getResources();
//只需将它们保持在相同的顺序,例如按钮01系在背面
final int[]buttonIds={R.id.dinal,R.id.ele,R.id.syl,
R.id.amel,R.id.krz,R.id.mar,
R.id.sra,R.id.bab,R.id.har,
R.id.kur,};
final int[]soundIds={R.raw.dinal_ama,R.raw.daj_ama,R.raw.syl_ama,
R.raw.ame_-ama,R.raw.krzy_-ama,R.raw.marihuanen_-ama,
R.raw.srac_-ama,R.raw.zajeb_-ama,R.raw.hardcore_-ama,
R.raw.oookurwa_ama,};
View.OnClickListener=新视图。OnClickListener(){
公共void onClick(视图v){
//找到与按钮ID匹配的索引,然后重置
//在MediaPlayer实例中,将数据源设置为相应的
//音效,准备,然后开始播放。
对于(inti=0;i
停止或暂停活动中的播放机,使用下面的代码
package com.example.firstly;
import java.io.IOException;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.content.res.Resources;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Mymenu extends Activity {
int selectedSoundId;
MediaPlayer player;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
player = new MediaPlayer();
final Resources res = getResources();
// just keep them in the same order, e.g. button01 is tied to backtoyou
final int[] buttonIds = { R.id.dinal, R.id.ele, R.id.syl, R.id.amel,
R.id.krz, R.id.mar, R.id.sra, R.id.bab, R.id.har, R.id.kur, };
final int[] soundIds = { R.raw.dinal_ama, R.raw.daj_ama, R.raw.syl_ama,
R.raw.ame_ama, R.raw.krzy_ama, R.raw.marihuanen_ama,
R.raw.srac_ama, R.raw.zajeb_ama, R.raw.hardcore_ama,
R.raw.oookurwa_ama, };
View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
// find the index that matches the button's ID, and then reset
// the MediaPlayer instance, set the data source to the
// corresponding
// sound effect, prepare it, and start it playing.
for (int i = 0; i < buttonIds.length; i++) {
if (v.getId() == buttonIds[i]) {
selectedSoundId = soundIds[i];
AssetFileDescriptor afd = res
.openRawResourceFd(soundIds[i]);
player.reset();
try {
player.setDataSource(afd.getFileDescriptor(),
afd.getStartOffset(), afd.getLength());
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.start();
break;
}
}
}
};
// set the same listener for every button ID, no need
// to keep a reference to every button
for (int i = 0; i < buttonIds.length; i++) {
Button soundButton = (Button) findViewById(buttonIds[i]);
registerForContextMenu(soundButton);
soundButton.setOnClickListener(listener);
}
}
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
player.stop(); // to stop the player
player.release(); // if you want to pause the song use player.pause();
}
}
package.com.example.first;
导入java.io.IOException;
导入android.app.Activity;
导入android.content.res.AssetFileDescriptor;
导入android.content.res.Resources;
导入android.media.AudioManager;
导入android.media.MediaPlayer;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
公共类Mymenu扩展活动{
int-selectedSoundId;
媒体播放器;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
player=新媒体播放器();
最终资源res=getResources();
//只需将它们保持在相同的顺序,例如按钮01系在背面
final int[]buttonIds={R.id.dinal,R.id.ele,R.id.syl,R.id.amel,
R.id.krz,R.id.mar,R.id.sra,R.id.bab,R.id.har,R.id.kur,};
final int[]soundIds={R.raw.dinal_ama,R.raw.daj_ama,R.raw.syl_ama,
R.raw.ame_-ama,R.raw.krzy_-ama,R.raw.marihuanen_-ama,
R.raw.srac_-ama,R.raw.zajeb_-ama,R.raw.hardcore_-ama,
R.raw.oookurwa_ama,};
View.OnClickListener=newview.OnClickListener(){
公共void onClick(视图v){
//找到与按钮ID匹配的索引,然后重置
//在MediaPlayer实例中,将数据源设置为
//相应的
//音效,准备,然后开始播放。
为了(