0

Android にはまだ慣れていませんが、ラジオ アプリケーションの開発でオンラインのチュートリアルに従いました。これが発生している問題です。このラジオを再生し続けて、アプリ ユーザーがラジオ中にアプリや他のアプリケーションを使用し続けることができるようにします。バックグラウンドで再生します。ユーザーがストリーミング ページを離れると、ラジオの再生が停止します。

  private void startPlaying() {
  buttonStopPlay.setEnabled(true);
  buttonPlay.setEnabled(false);
  player.start();


   }


  private void initializeMediaPlayer() {
  player = new MediaPlayer();
  try {
  player.setDataSource(" radio URL");

  player.setOnPreparedListener(new OnPreparedListener() {

  public void onPrepared(MediaPlayer mp) {
  player.start();


  }
  });
  player.prepareAsync();
  buttonStopPlay.setEnabled(true);
  buttonPlay.setEnabled(true);


  } catch (IllegalArgumentException e) {
  e.printStackTrace();
  } catch (IllegalStateException e) {
  e.printStackTrace();
  } catch (IOException e) {
  e.printStackTrace();
  }

  player.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {

  public void onBufferingUpdate(MediaPlayer mp, int percent) {
  playSeekBar.setSecondaryProgress(percent);
  Log.i("Buffering", "" + percent);
  }
  });
  }

 @Override
 protected void onPause() {
 super.onPause();
 if (player.isPlaying()) {
 player.pause();
 buttonStopPlay.setEnabled(false);
 buttonPlay.setEnabled(true);
 }

 }
4

1 に答える 1

0

このリンクを参照してください

Intent svc=new Intent(this, BackgroundSoundService.class);
    startService(svc);



public class BackgroundSoundService extends Service {
    private static final String TAG = null;
    MediaPlayer player;
    public IBinder onBind(Intent arg0) {

        return null;
    }
    @Override
    public void onCreate() {
        super.onCreate();
        player = MediaPlayer.create(this, R.raw.idil);
        player.setLooping(true); // Set looping
        player.setVolume(100,100);

    }
    public int onStartCommand(Intent intent, int flags, int startId) {
        player.start();
        return 1;
    }

    public void onStart(Intent intent, int startId) {
        // TO DO
    }
    public IBinder onUnBind(Intent arg0) {
        // TO DO Auto-generated method
        return null;
    }

    public void onStop() {

    }
    public void onPause() {

    }
    @Override
    public void onDestroy() {
        player.stop();
        player.release();
    }

    @Override
    public void onLowMemory() {

    }
}
于 2013-01-31T05:21:20.867 に答える