2016-07-13 68 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 ... !!!!!!!!你让我的一天伙计.......超棒!它工作...你真棒谢谢你................ –

相关问题