2016-07-15 5 views
0

まず、私はJavaを初めて使い慣れました。次のように第二に、ここに私の意図は、次のとおりです。onPrepare内のonClickメソッドの追加

ユーザーは(playPause)ボタンをクリック - 描画可能(pause1)を一時停止するには切り替わり、ストリームがユーザーがボタンをクリック開始します>ボタン - >ストリームの一時停止ボタン描画可能を再生するために切り替わります(play1 )。

今私の問題は、非同期のMediaPlayerを調製するために使用されonPreparedメソッドが含まれている現在の方法playPauseMusicの内側に、onClick方法を、この動作を実装する方法です。

私の直感は、isPlayingのチェックを行い、そこから切り替えることですが、これまでの試みは失敗してしまいました。

は、ここで関連するコードであり、あなたの時間をありがとうございました:

radio.java

package com.example.jacob.wutk; 

import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageButton; 

import java.io.IOException; 

public class radio extends AppCompatActivity { 

    /** Called when the user touches the button */ 

    public void playMusic(View view) throws IOException { 
     String url = "http://streamer.cci.utk.edu:8000/wutk-vorbis"; // your URL here 
     MediaPlayer mediaPlayer = new MediaPlayer(); 

     mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 

      public void onPrepared(MediaPlayer mediaPlayer){ 
       mediaPlayer.start(); 
      } 
     }); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     mediaPlayer.setDataSource(url); 
     mediaPlayer.prepareAsync(); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_radio); 
    } 
} 
+1

このディスカッションは読んでいますか? http://stackoverflow.com/questions/18120174/how-to-play-and-pause-in-only-one-button-android – jakubbialkowski

+0

@jakubbialkowskiはい、あります。繰り返しますが、私はこの言語にはあまり新しく、成功したアイデアをうまく​​実装できませんでした。 – McLemore

+0

私はこのチュートリアルがあなたのための良いスタートかもしれないと思う:http://www.tutorialspoint.com/android/android_mediaplayer.htm それは完全に機能しているので、私の提案は基本的にはチュートリアルのペーストコンテンツをコピーしてそれを再生することです。次に、特定の要素に関する特定の質問がある場合は、それを聞いてください。あなたの現在の質問は、1つの答えでカバーするために広いです。 – jakubbialkowski

答えて

0

私はこのことができます願っています。

public class radio extends AppCompatActivity { 
MediaPlayer mediaPlayer; 
boolean prepared=false; 

public void playMusic(View view) throws IOException { 

    playpause(); 

} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_radio); 
    mediaPlayer = new MediaPlayer(); 
    String url = "http://streamer.cci.utk.edu:8000/wutk-vorbis"; 
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    mediaPlayer.setDataSource(url); 
    mediaPlayer.prepareAsync(); 
    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 

     public void onPrepared(MediaPlayer mediaPlayer){ 
      prepared=ture; 
     } 
    }); 
} 
} 

public void playPause() { 
if (!mediaplayer.isPlaying()&&prepared) { 
    mediaplayer.start(); 
    mediaplayer.setImageResource(R.drawable.ic_pause); 
} else if(mediaplayer.isPlaying()) { 

    mediaplayer.pause(); 
    mediaplayer.setImageResource(R.drawable.ic_play); 
} 
} 
関連する問題