2012-02-01 22 views
0

私はAndroid開発で音楽についてどこでも見てきました。私はAPIを見てきましたが、私はそれを理解しませんでした。これは私のコードです:Androidで音声の開始/停止を切り替える

同じボタンをもう一度押すと、それを停止するように変更できますか?

あなたのレイアウトで同じ場所にある2つの同一のボタンを定義し、そのようなトリックを行うことができます楽しみのために

答えて

1
package com.my.testing; 

import android.R; 
import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class TestAndActivity extends Activity { 

    public MediaPlayer mp = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button b = (Button) findViewById(R.id.button1); 
     b.setOnClickListener(new OnClickListener() { 

       @Override 
      public void onClick(View v) { 
       if (mp == null) { 
        mp = MediaPlayer.create(TestAndActivity.this, R.raw.track1); 
        mp.start(); 
       } else { 
        mp.stop(); 
        mp = null; 
       } 
      } 

     }); 
    } 
} 
+0

あなたが持っています他の文法のエラーが予想される{ – MrJoshFisher

+0

まだ構文エラー "トークンの構文エラー、{期待" – MrJoshFisher

+0

右それを開始し、今停止してもう一度開始しないでください – MrJoshFisher

0

...

 <ImageView 
    android:id="@+id/media_player12" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:layout_alignParentLeft="true" 
android:layout_alignParentTop="true" 
    android:src="@drawable/media_player" />  
<ImageView 
android:id="@+id/mute12" 
android:layout_width="40dp" 
    android:layout_height="40dp" 
android:layout_alignParentLeft="true" 
android:layout_alignParentTop="true" 
android:visibility="gone" 
android:clickable="false" 
android:src="@drawable/mute" /> 

とコード...

final ImageView s_on12 = (ImageView) findViewById(R.id.media_player12); 
    s_on12.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      mp.release(); 
      MediaPlayer mp = MediaPlayer.create(Main.this, R.raw.track1); 
    mp.start(); 
      final ImageView s_off12 = (ImageView) findViewById(R.id.mute12); 
      s_on12.setVisibility(View.GONE); 
      s_on12.setClickable(false); 
      s_off12.setVisibility(1); 
      s_off12.setClickable(true); 
      s_off12.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        mp.stop(); 

        s_on12.setVisibility(1); 
        s_on12.setClickable(true); 
        s_off12.setVisibility(View.GONE); 
        s_off12.setClickable(false); 
       } 
      }); 

     } 
    }); 
関連する問題