2016-07-09 6 views
0

私はAndroidの初心者です。MediaPlayerを動作させようとしていますが、いくつかのエラーがあります。MediaPlayerはまったく動作しません

1 - もう一度再生をクリックすると、同時に2回再生を開始します。

2-puseをクリックすると、何も起こりません。

3 - 私の意図は、再生、一時停止、停止して再生リストを作成することです。

ありがとうございます。

package com.example.android.allmusic; 

import android.content.Context; 
import android.content.Intent; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.media.MediaPlayer; 

public class RomanticActivity extends AppCompatActivity { 
    boolean firstSongBoolean; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_romantic); 


     TextView firstSong = (TextView) findViewById(R.id.first_song); 
     firstSong.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.primero); 
       if (!mp.isPlaying()) {mp.start();} 
      } 
     }); 

     ImageView firstSongPause = (ImageView) findViewById(R.id.first_song_pause); 
     firstSongPlay.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.primero); 
       if (mp.isPlaying()) { mp.pause(); } 
      } 
     }); 
    } 
} 

答えて

0

は、メンバ変数としてあなたMediaPlayerを宣言してください、あなたのonCreateでそれを設定するのに十分ではなく、単なるテストにあなたのクラスの属性としてそれを宣言する必要があります。

あなたはMediaPlayerへの新しい参照あなたがImageViewTextViewをクリックするたびに作成しているので、あなたはありません、それを一時停止するか、すでに開始されているかどうかを知るために、古い参照を行います。


コード:

public class RomanticActivity extends AppCompatActivity { 
    boolean firstSongBoolean; 

    //MediaPlayer as a member variable 
    private MediaPlayer mp; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_romantic); 

     mp = MediaPlayer.create(getApplicationContext(), R.raw.primero); 

     TextView firstSong = (TextView) findViewById(R.id.first_song); 
     firstSong.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       if (!mp.isPlaying()) { 
        mp.start(); 
       } 
      } 
     }); 

     ImageView firstSongPause = (ImageView) findViewById(R.id.first_song_pause); 
     firstSongPlay.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       if (mp.isPlaying()) { 
        mp.pause(); 
       } 
      } 
     }); 
    } 
} 
関連する問題