3

mp3ファイルを再生および停止するアプリをEclipseで作成しました。オーディオファイルを再生して停止し、再生したいときに再生ボタンが機能しないことを除いて、すべて問題ありません。誰かが私を助けることができるかどうか疑問に思っていましたか?前もって感謝します。コードは次のとおりです。

package ir.polyglotcenter.childrenmostfrequentwords;

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 Main extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //Related to the media player
    final MediaPlayer myMediaPlayer = MediaPlayer.create(Main.this, R.raw.audio);
    //Button related to play btn
    Button myButtonOne = (Button) findViewById(R.id.btn_audio);
    myButtonOne.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            myMediaPlayer.start();

        }
    });

    //Button related to stop btn
    Button myButtonTwo = (Button) findViewById(R.id.btn_stop);
    myButtonTwo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            myMediaPlayer.stop();

        }
    });

}
}
4

4 に答える 4

1

ボタンクリックでサウンドを開始/停止したい場合は、 と を使用MediaPlayer.start()MediaPlayer.pause()て現在再生中のサウンドを一時停止し、開始ボタンのクリックで再び開始します。Activity をオーバーライドonPauseして、MediaPlayer を最終的に停止して解放します。次のようにコードを変更します。

onStop ボタンクリック:

myButtonTwo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            myMediaPlayer.pause();  //>>pause current sound
            myMediaPlayer.seekTo(0); //>> seek to start it again 

        }
    });

Activity の onPause メソッドをオーバーライドします。

  @Override
   protected void onPause{
      super.onPause();
       myMediaPlayer.stop();  //>>> stop myMediaPlayer
       myMediaPlayer.release(); //>>> free myMediaPlayer
     }
于 2013-03-11T19:06:39.133 に答える
0

これを試してください(パブリックエリアでMedia Playerを定義するだけです)

    public class Main extends Activity {

MediaPlayer myMediaPlayer = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //Related to the media player

    myMediaPlayer = MediaPlayer.create(Main.this, R.raw.audio);

    //Button related to play btn
    Button myButtonOne = (Button) findViewById(R.id.btn_audio);
    myButtonOne.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            myMediaPlayer.start();

        }
    });

    //Button related to stop btn
    Button myButtonTwo = (Button) findViewById(R.id.btn_stop);
    myButtonTwo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            myMediaPlayer.pause();

        }
    });

}
}
于 2013-03-11T19:02:56.670 に答える
0

ポイントは、ifまたはanyループのループでMediaPlayerを実装しています

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.buttonPlay:
        //mp.reset();
        mp=MediaPlayer.create(Ur Context.this, R.raw."ursong.mp3");
        mp.start();

        break;
    case R.id.buttonStop:
        mp.stop();

        break;
    }
}
于 2015-10-04T11:59:59.613 に答える