2016-06-02 6 views
0

私はメディアレコーダープログラムをセットアップして、私に通知を送信する通知メソッド(notifi)を作成しました。私の問題は、メディアレコーダーが録音を停止する(mediaRecorder = null)といつでも通知メソッドを呼び出すことです。私はある種のイベントリスナーをセットアップしなければならないと思っていますが、私はそれを行うのに助けが必要です。イベントリスナーを設定する方法

public class MainActivity extends AppCompatActivity implements 
    MediaRecorder.OnInfoListener, MediaController.MediaPlayerControl { 
    private boolean cont; 
    private MediaRecorder mediaRecorder; 
    private MediaPlayer mediaPlayer; 
    private String OUTPUT_FILE; 
    private MediaController mediaController; 

    NotificationCompat.Builder notif; 
    private static final int uid = 615204; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     OUTPUT_FILE = Environment.getExternalStorageDirectory() + "/androidaudio1.3gpp"; 
     cont = true; 

     notif = new NotificationCompat.Builder(this); 
     notif.setAutoCancel(true); 
    } 

    public void outtfile() { 
    } 

    public void clikked(View view) { 
     switch (view.getId()) { 

      case R.id.startRec: 
       beginRecord(); 
       break; 

      case R.id.stopRec: 
       stopRecord(); 
       break; 

      case R.id.startPlay: 
       try { 
        begginPlaying(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       break; 

      case R.id.stopPlay: 
       stopPlaying(); 
       break; 
     } 
    } 

    public void notifi(View view) { 

     notif.setSmallIcon(R.drawable.notifi); 
     notif.setTicker("Stopped Rec"); 
     notif.setWhen(System.currentTimeMillis()); 
     notif.setContentTitle("App Stopped Rec"); 
     notif.setContentText("App has stopped Rec session"); 

     Intent intent = new Intent(this, MainActivity.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

     notif.setContentIntent(pendingIntent); 

     NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     nm.notify(uid, notif.build()); 
    } 
} 

答えて

0

私はあなたが

if(recorder == null){ 
    //Do your action 
} 
+0

右をチェックする必要がありますが、私はどこでも自分のコードにするか、特定の場所でする必要がないことを追加することができると思いますか? –

関連する問題