您好我想在我的应用程序中实现一个收音机...我写了这个代码,它在模拟器YouWave中工作但是我没有在SmartPhone和另一个平板电脑上工作,我不知道为什么..你可以请帮帮我?
这是收音机的代码:
public class radio extends Activity {
MediaPlayer media;
Button buttonplay;
Button buttonStopRecord;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.radio);
buttonStopRecord = (Button) findViewById(R.id.Stop);
buttonStopRecord.getBackground().setAlpha(150);
buttonStopRecord.setEnabled(false);
buttonStopRecord.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view) {
if ( media.isPlaying() ) {
media.stop();
}
}
});
buttonplay = (Button) findViewById(R.id.play);
buttonplay.getBackground().setAlpha(150);
buttonplay.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view) {
try
{
media = new MediaPlayer();
media.setAudioStreamType(AudioManager.USE_DEFAULT_STREAM_TYPE);
media.setDataSource("http://indiespectrum.com:9000");
media.prepare();
media.start();
if ( media.isPlaying()) {
buttonplay.setEnabled(false);
buttonStopRecord.setEnabled(true);
}
}
catch(Exception e)
{
//Getting Exception
}
}
});
Button accueil=(Button)findViewById(R.id.accueilr);
accueil.getBackground().setAlpha(200);
accueil.getBackground().setAlpha(150);
accueil.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view) {
try{
if ( media.isPlaying() ) {
media.stop();
}
}catch (Exception e)
{
Intent i=new Intent(radio.this,main.class);
startActivity(i);
}
Intent i=new Intent(radio.this,main.class);
startActivity(i);
}
});
}
}
答案 0 :(得分:0)
据我所知,此代码应适用于Api高于8的每台设备。
media = new MediaPlayer();
media.setAudioStreamType(AudioManager.STREAM_MUSIC);
media.setDataSource("http://indiespectrum.com:9000");
media.prepareAsync();
media.seOnPreparedListener(this);
在OnPrepared方法中放置media.start()
。这对我有用。