-1

私はAndroidアプリを開発しています.アプリでは、アクティビティにボタンがあります1. そのボタンをクリックすると、アクティビティ 2 にジャンプし、アクティビティ 2 のバックグラウンド ミュージックが開始されます。

activity2で音楽を再生するためにメディアプレーヤーを使用しました。

今、アクティビティ1にサウンドボタンを配置しました。ユーザーがクリックすると、アクティビティ2で再生されるバックグラウンドミュージックが無効になり、ユーザーがサウンドボタンを再度クリックすると、アクティビティ2の音楽が再生されます有効にします。

このタスクを達成する方法。ima初心者私はこれを行う方法がわかりません。この問題で私を助けることができますか????

どんな助けもかなりのものになるでしょう....

activity1 Java コード..

package com.example.quizproject;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;

public class Menu extends Activity implements View.OnClickListener{

Button btn4,btn5,btn6,btn7,btn8;
ImageButton imgbtn1,imgbtn2;
MediaPlayer mp2;


public void onCreate(Bundle icici) {
    super.onCreate(icici);
    setContentView(R.layout.menupg);


    mp2=MediaPlayer.create(this, R.drawable.buttonsound);



   btn4=(Button)findViewById(R.id.btn4);
   btn5=(Button)findViewById(R.id.btn5);
   btn6=(Button)findViewById(R.id.btn6);
   btn7=(Button)findViewById(R.id.btn7);
   btn8=(Button)findViewById(R.id.btn8);

   imgbtn1=(ImageButton)findViewById(R.id.imgbtn1);
   imgbtn2=(ImageButton)findViewById(R.id.imgbtn2);

   btn4.setOnClickListener(this);
   btn5.setOnClickListener(this);
   btn6.setOnClickListener(this);
   btn7.setOnClickListener(this);
   btn8.setOnClickListener(this);
   imgbtn1.setOnClickListener(this);
   imgbtn2.setOnClickListener(this);

}

public void onClick(View v) {

    mp2.start();

    if((v.getId())==(R.id.btn5))
    {
        startActivity(new Intent("com.example.quizproject.Highscore"));
    }
    if((v.getId())==(R.id.btn4))
    {

        startActivity(new Intent("com.example.quizproject.Ques"));
    }
    if((v.getId())==(R.id.btn6))
    {

        startActivity(new Intent("com.example.quizproject.About"));
    }
    if((v.getId())==(R.id.btn7))
    {


        startActivity(new Intent("com.example.quizproject.Addques"));
    }
    if((v.getId())==(R.id.imgbtn2))
    {

    }
    if((v.getId())==(R.id.btn8))
    {

        Intent intent = new Intent(this, StartQuiz.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
    }


}
public boolean onKeyDown(int keycode, KeyEvent event)
{
    if(keycode==(KeyEvent.KEYCODE_DPAD_CENTER))
    {
        finish();
    }
    return super.onKeyDown(keycode, event);
}


}

activity1 の xml コード....

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dar"
android:gravity="center"
android:orientation="vertical" >

<Button
    android:id="@+id/btn4"
    android:layout_width="250dp"
    android:layout_height="40dp"
    android:text="PLAY" 
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:background="@drawable/quesbtn_shape"/>

<Button
    android:id="@+id/btn5"
    android:layout_width="250dp"
    android:layout_height="40dp"
    android:text="HIGH SCORE" 
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:background="@drawable/quesbtn_shape"/>

<Button
    android:id="@+id/btn6"
    android:layout_width="250dp"
    android:layout_height="40dp"
    android:text="ABOUT QUIZ" 
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:background="@drawable/quesbtn_shape"/>

<Button
    android:id="@+id/btn7"
    android:layout_width="250dp"
    android:layout_height="40dp"
    android:text="ADD QUESTION" 
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:background="@drawable/quesbtn_shape"/>

<Button
    android:id="@+id/btn8"
    android:layout_width="250dp"
    android:layout_height="40dp"
    android:text="Exit" 
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:background="@drawable/quesbtn_shape"/>

<TableLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TableRow >
  <ImageButton
    android:id="@+id/imgbtn1"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:src="@drawable/sound" 
    android:layout_marginLeft="87dp"
    android:layout_marginTop="20dp"
    android:background="@drawable/quesbtn_shape"/>

  <ImageButton
    android:id="@+id/imgbtn2"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:src="@drawable/music"
    android:layout_marginLeft="40dp"
    android:layout_marginTop="20dp"
     android:background="@drawable/quesbtn_shape"/>



    </TableRow>
   </TableLayout>

</LinearLayout>

activity2 Java コード..

package com.example.quizproject;

import java.lang.reflect.Method;
import java.security.PublicKey;
import java.util.Random;
import java.util.Set;
import java.util.Timer;
import java.util.concurrent.DelayQueue;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class Ques extends Activity implements View.OnClickListener{

TextView txt17,txt18,txt21,txt19,txt20;

Button btn10,btn11,btn12;

MediaPlayer mp1,mp5,mp;
ImageView imgv;

int score=0,ch=3,q=1;
String ans;


public void onCreate(Bundle icici) {
    super.onCreate(icici);
    setContentView(R.layout.activity_main);
    mp1=MediaPlayer.create(this, R.drawable.buzzer);
    mp5=MediaPlayer.create(this, R.drawable.belltone);
    mp=MediaPlayer.create(this, R.drawable.bgmusic);
    mp.setVolume(50,50);
    mp.start();
   mp.setOnCompletionListener(new OnCompletionListener() {

        public void onCompletion(MediaPlayer mp) {
            mp.release();
            // TODO Auto-generated method stub

        }
    });

    txt17=(TextView)findViewById(R.id.txt17);
    txt21=(TextView)findViewById(R.id.txt21);
    txt19=(TextView)findViewById(R.id.txt19);
    txt20=(TextView)findViewById(R.id.txt20);
    txt18=(TextView)findViewById(R.id.txt18);
    btn10=(Button)findViewById(R.id.btn10);
    btn10.setOnClickListener(this);
    btn11=(Button)findViewById(R.id.btn11);
    btn11.setOnClickListener(this);
    btn12=(Button)findViewById(R.id.btn12);
    btn12.setOnClickListener(this);
    imgv=(ImageView)findViewById(R.id.imageButton1);






        }



public void stopMusic()
{
    mp.stop();
    mp.release();
    mp = null;
}
public void stopMusic1()
{
    mp1.stop();


}
public void stopMusic2()
{
    mp5.stop();


}

public void onClick(View v) {
    // TODO Auto-generated method stub
    stopMusic1();
           stopMusic();
            stopMusic2();

}

ここにコードがありますが、アクティビティ 2 に問題はありません...

たとえば、ユーザーが画像ボタンを押した場合、アクティビティ 2 にジャンプするときに音楽を再生する必要はありません。また、ユーザーが画像ボタンをもう一度押すと、アクティビティ 2 にジャンプするときに音楽をバックグラウンドで再生する必要があります.....

4

1 に答える 1

1

使用している API で音楽を停止するメソッドを使用するだけです。たとえば、MediaPlayerでは、 stop()を呼び出して停止し、pause()を呼び出して一時停止します。

于 2012-08-18T11:35:47.450 に答える