我有按鈕不是這樣調用方法播放流:激活鍵來調用方法
// method for play stream after stop it.
public void startradio(View v) {
try{
if(mp.isPlaying()){
return;
}
mp.start();
} catch(IllegalStateException ex){
ex.printStackTrace();
}
}
和我定義按鈕是這樣的:
Button PlayBtn = (Button)findViewById(R.id.btnPlay);
現在我想,當點擊PlayBtn
我想用這種方式啓動該功能:
setOnClickListener
編輯:
我的代碼是這樣的:
package com.example.kam;
import java.io.IOException;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
public class MainActivity extends Activity {
public MediaPlayer mp;
boolean isPrepared = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onCompletion(MediaPlayer mediaPlayer) {
synchronized(this){
isPrepared = false;
}
}
protected void onResume(){
super.onResume();
mp = new MediaPlayer();
try {
mp.setDataSource("http://radio.arabhosters.com:8015/");
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //also consider mp.prepareAsync().
// defult start stream when start App.
mp.start();
}
// method for play stream after stop it.
public void startradio(View v) {
try{
if(mp.isPlaying()){
return;
}
mp.start();
} catch(IllegalStateException ex){
ex.printStackTrace();
}
}
// method for pause stream.
public void pauseradio(View v) {
mp.pause();
}
public boolean isPlaying() {
return mp.isPlaying();
}
public boolean isLooping() {
return mp.isLooping();
}
public void setLooping(boolean isLooping) {
mp.setLooping(isLooping);
}
public void setVolume(float volumeLeft, float volumeRight) {
mp.setVolume(volumeLeft, volumeRight);
}
// method for stop stream.
public void stopradio(View v) {
if(mp.isPlaying()){
mp.stop();
}
mp.release();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
顯示代碼相關的媒體播放器(MP) – Unknown 2013-04-26 09:01:39
@Cobra Ajgar我會更新我的文章 – k1gfx 2013-04-26 09:04:20
發佈您的logcat – 2013-04-26 09:06:09