Як я магу спыніць медыя-плэер у іншым выглядзе дзейнасці?

Я пачынаю медыяплэера, як гэта:

    if (mp != null) {
        mp.stop();
        mp.reset();
        mp.release();
    }
    mp = MediaPlayer.create(this, R.raw.background);
    mp.start();

Як я магу спыніць у іншай дзейнасці? Ён працягвае гуляць у іншай дзейнасці. Як я магу выкарыстоўваць OnDestroy у іншай дзейнасці?

1
Вы не можаце знішчыць адну дзейнасць з іншай дзейнасцю. Але вы можаце прыпыніць медыяплэера, ствараючы новы асобнік MediaPlayer ў другой актыўнасці і callind метад "стоп"!
дададзена аўтар vvy, крыніца
Вы не можаце знішчыць адну дзейнасць з іншай дзейнасцю. Але вы можаце прыпыніць медыяплэера, ствараючы новы асобнік MediaPlayer ў другой актыўнасці і callind метад "стоп"!
дададзена аўтар vvy, крыніца
Што рабіць, калі вы хочаце стварыць кнопку ў іншай дзейнасці, якая па пстрычцы спыніцца медыяплэер, якая пачалася ў папярэдняй дзейнасці? як дамагчыся гэтага?
дададзена аўтар utkarsh dubey, крыніца
Што рабіць, калі вы хочаце стварыць кнопку ў іншай дзейнасці, якая па пстрычцы спыніцца медыяплэер, якая пачалася ў папярэдняй дзейнасці? як дамагчыся гэтага?
дададзена аўтар utkarsh dubey, крыніца
выклічце стоп-Конде ўнутры OnPause
дададзена аўтар Blackbelt, крыніца
калі вы гуляеце на некалькіх мерапрыемствах, выкарыстоўваць паслугу.
дададзена аўтар njzk2, крыніца
калі вы гуляеце на некалькіх мерапрыемствах, выкарыстоўваць паслугу.
дададзена аўтар njzk2, крыніца
у бягучай дзейнасці OnPause выкарыстання mp.stop (). Пры пераходзе да другой актыўнасці ваша першая дзейнасць прыпынена
дададзена аўтар Raghunandan, крыніца

7 адказы

Выкарыстоўвайце асобны клас, як паказана ніжэй у вашым праекце.

import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;

public class AudioPlay {

    public static MediaPlayer mediaPlayer;
        private static SoundPool soundPool;
    public static boolean isplayingAudio=false;
    public static void playAudio(Context c,int id){
         mediaPlayer = MediaPlayer.create(c,id);
         soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
         if(!mediaPlayer.isPlaying())           
         {
        isplayingAudio=true;
         mediaPlayer.start();             
         }          
     }
    public static void stopAudio(){     
         isplayingAudio=false;       
         mediaPlayer.stop();
    }   
}

<�Моцны> Прайграванне песні

`AudioPlay.playAudio(mContext, R.raw.audiofile);`//play it from your preferred activity. and you can change raw file to your path also its depends upon your requirement. 

то спыніць гук, выкарыстоўваючы гэтыя радкі AudioPlay.stopAudio (); ад якой-небудзь дзейнасці. спадзяюся, што гэта дапамагае.

3
дададзена
Вялікі дзякуй, працуе вялікая
дададзена аўтар Bahaa Hany, крыніца
Вялікі код! дзякуй
дададзена аўтар Arief Rivai, крыніца

Выкарыстоўвайце асобны клас, як паказана ніжэй у вашым праекце.

import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;

public class AudioPlay {

    public static MediaPlayer mediaPlayer;
        private static SoundPool soundPool;
    public static boolean isplayingAudio=false;
    public static void playAudio(Context c,int id){
         mediaPlayer = MediaPlayer.create(c,id);
         soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
         if(!mediaPlayer.isPlaying())           
         {
        isplayingAudio=true;
         mediaPlayer.start();             
         }          
     }
    public static void stopAudio(){     
         isplayingAudio=false;       
         mediaPlayer.stop();
    }   
}

<�Моцны> Прайграванне песні

`AudioPlay.playAudio(mContext, R.raw.audiofile);`//play it from your preferred activity. and you can change raw file to your path also its depends upon your requirement. 

то спыніць гук, выкарыстоўваючы гэтыя радкі AudioPlay.stopAudio (); ад якой-небудзь дзейнасці. спадзяюся, што гэта дапамагае.

3
дададзена
Вялікі дзякуй, працуе вялікая
дададзена аўтар Bahaa Hany, крыніца
Вялікі код! дзякуй
дададзена аўтар Arief Rivai, крыніца

Як вы ўжо пачалі медыяплэер ў першай дзейнасці і хацелі спыніцца ў іншай дзейнасці, проста назваць сваю другую раскладку ў першай дзейнасці з выкарыстаннем макета Inflater сябе замест таго, каб стварыць іншую дзейнасць .. і на другім файл макет проста спыніць медыяплэер, націснуўшы на кнопку

   public class FirstAvtivity extends Activity
   {  
    MediaPlayer mPlayer;
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     setContentView(R.layout.first_activity_layoutfile);
     Button b=(Button)findViewById(R.id.button1);

    //start the media player like how you were starting in your activity
// then after clicking button you will be navigated to new layout , there  
//  you can stop media player

       mPlayer.start();
      b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            updateLayout();


        }
    });

   }
    private void newUpdateLayout() {
    LayoutInflater inflater = LayoutInflater.from(this);
     setContentView(inflater.inflate(R.layout.second_disapr_scr, null));
    finalDismiss=(Button)findViewById(R.id.final_dismiss);
     finalDismiss.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
             Toast.makeText(getApplicationContext(),"welcome to second 
 avtivity",Toast.LENGTH_SHORT).show();
             mPlayer.stop();
             finish();
         }
     });
   }
 }
0
дададзена

У 1-й пераазначэнне дзейнасці OnPause

@Override
protected void onPause() {
   //TODO Auto-generated method stub
    super.onPause();
            mp.stop();
}
0
дададзена

У 1-й пераазначэнне дзейнасці OnPause

@Override
protected void onPause() {
   //TODO Auto-generated method stub
    super.onPause();
            mp.stop();
}
0
дададзена

Вы не можаце патэлефанаваць спыніць дзейнасць, але ад самой дзейнасці ў

achive гэтага вы можаце адправіць медыя-плэер у службе і прывязку да службы ў дзейнасці вы хочаце атрымаць да яго доступ

0
дададзена

Вы не можаце патэлефанаваць спыніць дзейнасць, але ад самой дзейнасці ў

achive гэтага вы можаце адправіць медыя-плэер у службе і прывязку да службы ў дзейнасці вы хочаце атрымаць да яго доступ

0
дададзена