4

アクティビティのバックグラウンド ミュージックを作成したいのですが、MediaPlayer繰り返し再生しません :( なぜMediaPlayerループしないのですか?

私のコードがあります:

MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.tersetetete);

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setVolume(8f, 8f);
    mediaPlayer.setLooping(true);

    mediaPlayer = MediaPlayer.create(this, R.raw.fon);
    mediaPlayer.start();
}
4

3 に答える 3

6

電話

 mediaPlayer.setLooping(true);

    mediaPlayer.start(); 
于 2013-05-13T05:40:44.497 に答える
5

以下に書いmediaPlayer = new MediaPlayer();た行に置き換えます。mediaPlayer = MediaPlayer.create(this, R.raw.fon);

Volume と Looping プロパティを設定する新しいオブジェクトをnew MediaPlayer();作成するため、問題が発生していますが、その後で新しいオブジェクトを作成し、ループ プロパティが設定されていない新しいオブジェクトによって表されるサウンドを再生します。真にも8f 8fのボリュームにも。MediaPlayerMediaPlayer.create(this, R.raw.fon);

使用できる完全なコードは次のとおりです。

MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.tersetetete);

    mediaPlayer = MediaPlayer.create(this, R.raw.fon);
    mediaPlayer.setVolume(.8f, .8f);
    mediaPlayer.setLooping(true);
    mediaPlayer.start();
}
于 2013-05-13T06:24:29.260 に答える
1

私は KITKAT を使用していますが、setlooping(true) が機能していなかったので、この変更を行ったところ、機能するようになりました...

                MediaPlayer mMediaPlayer;
                //Stop on going Music
                AudioManager audiomanager = (AudioManager)context.getSystemService("audio");
                if (audiomanager.isMusicActive())
                {
                    Intent intent = new Intent("com.android.music.musicservicecommand");
                    intent.putExtra("command", "pause");
                    context.sendBroadcast(intent);
                }
                //Setting Max Volume
                audiomanager.setStreamVolume(3, audiomanager.getStreamMaxVolume(3), 0);
                mMediaPlayer = MediaPlayer.create(context.getApplicationContext(),R.raw.file);
                mMediaPlayer.start();
                //This did the trick
                mMediaPlayer.setOnErrorListener(new android.media.MediaPlayer.OnErrorListener() {

                    public boolean onError(MediaPlayer mediaplayer, int i, int j)
                    {
                        return false;
                    }
                });
                mMediaPlayer.setLooping(true);

そして、私は使用して停止します。

               mMediaPlayer.release();
于 2014-10-07T07:28:51.533 に答える