0

携帯電話から音楽ファイルを再生するAndroidアプリケーションを作成しています。私はサービスを使用してこれを実装しています。だから私のサービスに問題があります。サービスを開始すると、アプリの音楽の再生が始まります。ホームキーを押してYouTubeアプリケーションにアクセスし、ビデオを再生すると、音楽ファイルを支払うバックグラウンドでサービスが実行されたままになります。他の音楽ファイルが開始されたときに、サービスによる音楽ファイルの再生を停止するにはどうすればよいですか。前もって感謝します。

4

4 に答える 4

0

アクティビティまたはサービスの開始時に、音楽が再生されているかどうかを確認します。再生している場合は停止し、そうでない場合は次のようにnullを返します。

私はあなたのonCreateメソッドに以下の行があると思いますActivity

MediaPlayer mp= MediaPlayer.create(this, R.raw.<Your Music File>);
mp.setLooping(true);

onPause以下のコード行を、onStopメソッドに追加しますActivity

if(mp.isPlaying())
    mp.stop();
else
    return;
于 2012-12-20T07:40:37.483 に答える
0

このように2つのメソッドを作成します。オーディオ再生用。

private void playAudioFile() 
    {
        try
        {
             mp=new MediaPlayer();
             mp.reset();
             mp.setDataSource(audiofileName));
             mp.prepare();
             mp.start();
        }
        catch (Exception ex) 
        {
            ex.printStackTrace();

        }
    }

そしてこれはkillMediaプレーヤー用です。

private void killMediaPlayer() 
    {
        if(mp != null) 
        {
            try 
            {
                mp.release();
            }
            catch(Exception e) 
            {
                e.printStackTrace();
            }
        }
    }

これを使用して、それは私のための仕事です。

and call like this 
killMediaPlayer();
playaudio();
于 2012-12-20T07:40:41.377 に答える
0

新しいサービスを開始する前に、実行中のサービスを停止します。
実行中のサービスを停止するときは、必ずプレーヤーも停止してください。

于 2012-12-20T07:24:45.787 に答える
0

新しいアクティビティの開始時に実行中のサービスのリストをポーリングし、スピーカーの使用が必要な場合は、一時停止して終了させますか?

于 2012-12-20T07:24:39.903 に答える