gpt4 book ai didi

java - 如何在 Android 中恢复我的音频?

转载 作者:太空狗 更新时间:2023-10-29 15:27:09 24 4
gpt4 key购买 nike

我必须实现用于创建状态为暂停和恢复的音频的应用程序,当我的应用程序作为启动时音频开始时,当我按下模拟器上的后退按钮时,音频音乐处于暂停状态但是当我 Activity 从停止状态回到前台 我的音频音乐没有恢复。这是我的代码。

public class Audio_Activity extends Activity 
{
private MediaPlayer mp;
Button btnStartStop ;
Button btnChapter ;
Button btnOne;
Button btnTwo;
Button btnThree;
Button btnFour;
Button btnFive;
int length;


ImageView imgVw;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

setContentView(R.layout.audio);
init();

mp=MediaPlayer.create(Audio_Activity.this,R.raw.ennamo_yadho);
Log.e("Song is playing","in Mediya Player ");

if(mp!=null)
{
mp.setLooping(false);
mp.start();
btnChapter.setEnabled(false);
System.out.println("B4 button Click!!!!");
}

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer mp)
{
mp.stop();
mp.release();
btnChapter.setEnabled(true);
System.out.println("Music is over and Button is enable !!!!!!");
}
});


btnStartStop.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
if(mp.isPlaying())
{
if(mp!=null)
{
mp.pause();
}

}

else
{
// Resume song
if(mp!=null)
{
mp.start();
}
}
}
});


btnOne.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
imgVw.setImageResource(R.raw.chocklate);
}
}
);

btnTwo.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
imgVw.setImageResource(R.raw.creame);
}
});

btnThree.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
imgVw.setImageResource(R.raw.schocklate);

}
});

btnFour.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
imgVw.setImageResource(R.raw.pinapple);

}
});

btnFive.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
imgVw.setImageResource(R.raw.strobery);

}
});
}

@Override
protected void onResume()
{
super.onResume();
System.out.println("Activity is Resume !!!");
}

@Override
protected void onStart()
{
super.onStart();
System.out.println("Activity is Started !!!");
}


@Override
protected void onRestart() {
super.onRestart();
System.out.println("Activity is Re-Started !!!");
if(mp.isPlaying())
{
if(mp!=null)
{
length=mp.getCurrentPosition();
mp.seekTo(length);
mp.start();
}
}

}



@Override
protected void onPause() {
super.onPause();
System.out.println("Activity is Pause!!!");
}

@Override
protected void onStop() {
super.onStop();
System.out.println("Activity is Stop !!!");
}

@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("Activity is Destroyed !!!");
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{ //Back key pressed
//Things to Do
if(mp!= null)
{
if(mp.isPlaying())
{
mp.pause();
//mp=null;
}
}
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}

}

最佳答案

您应该使用 android MediaPlaybackService 进行后台播放、暂停、停止或仅通过单击通知打开 Activity 。当点击后退按钮时,它将绑定(bind)一个 PendingIntent 到按钮点击事件或通知栏上的按钮以控制音频播放。

使用这个 Gist Code 对于 AudioPlayer,尝试使用 MediaPlaybackService类或尝试对此进行逆向工程 owncloud代码。

关于java - 如何在 Android 中恢复我的音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17522185/

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