2012-01-16 16 views
0

メディアプレーヤーの変数を1つのアクティビティで宣言し、別のアクティビティで一時停止または停止できるかどうかは疑問でした。私はこれについてどうやって行くのでしょうか、別の方法がありますか?おかげメディアプレーヤーを別のアクティビティから変更する方法

+1

私は良いアイデアです別の1を介して活動中の変数を制御するとは思いません。あなたのユースケースを聞かせてもよろしいですか? –

+0

他のどのアクティビティでも変更可能なバックグラウンドでのメディアプレーヤーループが必要でした。他のアクティビティでボタンがクリックされたときと同様に、メディアプレーヤーは一時停止または再開します。方法はありますか? –

答えて

1

を好む、あなたの活動にMediaPlayerの静的変数を使用しますか静電気の扇風機。私はこの

Androidのマニフェスト

<activity name="Player" android:launchMode="singleTop"/> 

かつてあなたは活動の実行のインスタンスを1つだけ持って保証し、その活動を開始するに通じるすべての意図は、そのonNewIntent()

を介して配信されているようなものをやって好みます
class Player extends Activity{ 
    public static final String ACTION_PLAY = "com....PLAY"; 
    public static final String ACTION_PAUSE = "com...PAUSE"; 

    public void onNewIntent(Intent intent){ 
    if(intent.getAction().equals(ACTION_PLAY)){ 
     //Play 
    } 
    else if(intent.getAction().equals(ACTION_PAUSE){ 
     //Pause 
    } 
    } 
} 

、呼び出しアクティビティから、あなたが呼び出すことができ

Intent playIntent = new Intent(this, Player.class); 
playIntent.setAction(Player.ACTION_PLAY); 

Intent pauseIntent = new Intent(this, Player.class); 
pauseIntent.setAction(Player.ACTION_PAUSE); 
+0

[OK]をクリックし、静的な最終的な文字列で、 "com .... PLAY"と "com .... PAUSE"の代わりに何を入れますか? –

+0

com.your.package.name.PLAYを使用します。これがコンベンションです。それがあなたのために働くなら、答えを受け入れてください:) –

1

あなたはYourActivityName.mediaplayer.stop()
または
serviceクラスを使用
を使用して、メディアプレーヤーにアクセスできるように、私は私はないですserviceクラス

+0

私は静的変数を試してみましたが、うまくいくようです。 1つのアクティビティで1つのボタンのようにしか使用しない場合、問題はありますか? –

関連する問題