2016-07-13 66 views
0

我在我的應用程序的兩項活動,第一個(MainActivity.java)有一個按鈕來調用活動兩(player.java),第二個具有音頻和停止按鈕。是否有任何音頻正在播放? (在Android設備)

所以我現在面臨的主要問題是..

當我點擊從一個它轉到另一活動開始第二個活動, 我所編程序會自動啓動音頻(我希望它自動啓動)我按停止音頻停止...然後返回到MainActivity調用第二個活動(player.java)再次它工作正常...再次它開始正確的音頻...當我按下音頻繼續播放時,一切正常工作.. (這就是我想要的)

但是,如果按回不停止音頻,並啓動第二活動(player.java)再次,它再次開始聲音不停止第一個...和相同的TRA CK扮演兩次......

我想一次只玩一個軌道......如果任何其它音頻播放,停止,當我再次啓動該活動。

這裏是我的代碼...

MainActivity.java

package com.test.myapp; 

import android.app.*; 
import android.os.*; 
import android.content.*; 
import android.widget.*; 
import android.view.*; 

public class MainActivity extends Activity { 
    Button btn; 

    @Override 
    public void onCreate(Bundle savedIntanceState) { 
     super.onCreate(savedIntanceState); 
     setContentView(R.layout.activity_main); 

     btn = (Button) findViewById(R.id.button); 

     public void clicked(View v){ 
      if (v.getId() == R.id.button){ 
       Intent i = new Intent (MainActivity.this, player.class); 
       startActivity(i); 
      } 
     } 
    } 
} 

player.java

package com.test.myapp; 

import android.app.*; 
import android.os.*; 
import android.content.*; 
import android.widget.*; 
import android.view.*; 
import android.media.*; 

public class player extends Activity { 
    Button stop; 
    MediaPlayer audio; 

    @Override 
    public void onCreate(Bundle savedIntanceState) { 
     super.onCreate(savedIntanceState); 
     setContentView(R.layout.player); 

     stop= (Button) findViewById(R.id.stop); 
     audio = MediaPlayer.create(getBaseContext(), R.raw.myAudio); 
     audio.start(); 

     public void stop(View v){ 
      if (v.getId() == R.id.stop){ 
       audio.stop(); 
       audio = MediaPlayer.create(getBaseContext(), R.raw.myAudio); 
      } 
     } 
    } 
} 
+0

請分享您的代碼。 – sJy

+0

我的代碼太長...所以我修剪了其他的東西..只是分享我得到的問題...請檢查出來,如果你能幫助我,所以請老兄...我是等待......... –

+0

嘗試在'PlayerActivity.java'中覆蓋'onBackPressed()'並停止媒體播放器。 – Abbas

回答

0

讓你的MediaPlayer對象的靜態&支票媒體播放器IsPlaying模塊( )。嘗試

public class player extends Activity { 
    Button stop; 
    static MediaPlayer audio; 

    @Override 
    public void onCreate(Bundle savedIntanceState) { 
     super.onCreate(savedIntanceState); 
     setContentView(R.layout.activity_player); 

     stop = (Button) findViewById(R.id.stop); 
     stop.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       audio.stop(); 
      } 
     }); 

     if(audio == null) { 
      audio = MediaPlayer.create(getBaseContext(), R.raw.myaudio); 
      audio.start(); 
     } else { 
      if(audio.isPlaying()) { 
       audio.stop(); 
       audio = MediaPlayer.create(getBaseContext(), R.raw.myaudio); 
       audio.start(); 
      } else { 
       audio = MediaPlayer.create(getBaseContext(), R.raw.myaudio); 
       audio.start(); 
      } 
     } 
    } 

} 
+0

Voohooooo ... !!!!!!!!你讓我的一天夥計.......超棒!它工作...你真棒謝謝你................ –

相關問題