2012-07-31 169 views
0

我開發了一個錄音機,在前臺以及背景完美工作。但有一個問題,當我在後臺運行錄音機,並啓動另一個應用程序使用聲音(如錄像機,音樂播放器,視頻播放器等),所以應用程序將崩潰。所以我想在錄音機中添加一項功能,當使用麥克風或揚聲器的其他應用(如錄像機,音樂播放器,視頻播放器等)在前臺運行時,錄音機將自動進入暫停狀態。提前感謝。正在運行的應用程序暫停,當新的應用程序在Android中啓動

如果你仍然不明白我的問題,所以請使用你的手機和播放音樂播放器,而不是去家裏。因此,音樂播放器正在運行。並打開另一個應用程序,這是不使用麥克風&揚聲器,所以音樂播放器仍在運行,但當你打開另一個應用程序正在使用麥克風&揚聲器(如錄像機,音樂播放器,視頻播放器等)音樂播放器將暫停。這種類型的功能我想。提前預覽

+0

是有活動或使你的錄音機服務類? – ThaMe90 2012-07-31 07:39:59

+0

你的問題完全不清楚。要暫停另一個應用程序,你可以發送一個意圖,並以你想要的方式處理它 – Anton 2012-07-31 07:40:20

+0

ThaMe90來自活動 – 2012-07-31 07:41:45

回答

1

終於很多搜索&谷歌搜索我已經得到了這個問題的答案。我正在使用audiofocuschangelistener。該代碼是有

 
AudioManager.OnAudioFocusChangeListener audioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() { 

     public void onAudioFocusChange(int focusChange) { 
      switch(focusChange) 
      { 
      case AudioManager.AUDIOFOCUS_GAIN: 
      case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT: 
      case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK: 
        //resume your activity 
        break; 
      case AudioManager.AUDIOFOCUS_LOSS: 
      case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: 
      case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: 
        ///pause your activity 
        break; 
      } 

     } 
    };  

和的onCreate做到這一點()

 
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
int result = audioManager.requestAudioFocus(audioFocusChangeListener, AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); 
       if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { 
        //start your activity 
       } 

如需更多信息u可以按照下面的鏈接

http://developer.android.com/training/managing-audio/audio-focus.html

0

據我的理解你的問題,你需要你的應用程序停止任何它正在做的事情(錄音可能?),當它不是前臺應用程序。

您需要在主要活動中覆蓋onPause方法,以便當您的活動進入後臺(新活動出現)時,您可以停止記錄器。

此外,當用戶開始通過重寫onResume方法開始與應用程序交互時,您可以恢復活動的任務。

+0

謝謝你的回答,但這種解決方案是行不通的。我已經做到了。我想你不明白我的問題。我會更新它 – 2012-07-31 07:49:01

+0

你可以寫onPause或onResume方法的代碼或給我一些指導。 Thankyou – 2012-07-31 07:54:32

+0

我可能沒有完全理解你的問題。如果你能更新它,並且澄清你問的問題 – 2012-07-31 07:54:37

相關問題