|
@@ -5,10 +5,13 @@ import android.content.ComponentName
|
|
import android.content.Context
|
|
import android.content.Context
|
|
import android.content.Intent
|
|
import android.content.Intent
|
|
import android.media.AudioManager
|
|
import android.media.AudioManager
|
|
|
|
+import android.media.session.MediaSession
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
import android.os.CountDownTimer
|
|
import android.os.CountDownTimer
|
|
import android.os.VibrationEffect
|
|
import android.os.VibrationEffect
|
|
import android.os.Vibrator
|
|
import android.os.Vibrator
|
|
|
|
+import android.support.v4.media.session.MediaSessionCompat
|
|
|
|
+import android.text.TextUtils
|
|
import android.util.Log
|
|
import android.util.Log
|
|
import android.view.KeyEvent
|
|
import android.view.KeyEvent
|
|
import android.view.View
|
|
import android.view.View
|
|
@@ -88,45 +91,6 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
|
|
change_over_relayout.setOnClickListener(this)
|
|
change_over_relayout.setOnClickListener(this)
|
|
hang_up_imagev.setOnClickListener(this)
|
|
hang_up_imagev.setOnClickListener(this)
|
|
call_the_voice_imagev.setOnClickListener(this)
|
|
call_the_voice_imagev.setOnClickListener(this)
|
|
-
|
|
|
|
- /*
|
|
|
|
- val mbr = ComponentName(packageName, MediaButtonReceiver::class.java.getName())
|
|
|
|
- val mMediaSession = MediaSessionCompat(this, "mbr", mbr, null)
|
|
|
|
- //一定要设置
|
|
|
|
- mMediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS or
|
|
|
|
- MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS)
|
|
|
|
- if (!mMediaSession.isActive()) {
|
|
|
|
- mMediaSession.setActive(true)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- mMediaSession.setCallback(object : MediaSessionCompat.Callback() {
|
|
|
|
- override fun onMediaButtonEvent(intent: Intent): Boolean {
|
|
|
|
- val action = intent.action
|
|
|
|
- if (action != null) {
|
|
|
|
- if (TextUtils.equals(action, Intent.ACTION_MEDIA_BUTTON)) {
|
|
|
|
- val keyEvent: KeyEvent = intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT)
|
|
|
|
- if (keyEvent != null) {
|
|
|
|
- if (keyEvent.getAction() === KeyEvent.ACTION_DOWN) {
|
|
|
|
- val keyCode: Int = keyEvent.getKeyCode()
|
|
|
|
- Log.i(TAG, "keycode " + keyCode)
|
|
|
|
- when (keyCode) {
|
|
|
|
- KeyEvent.KEYCODE_MEDIA_PLAY -> {
|
|
|
|
- answerCall()
|
|
|
|
- }
|
|
|
|
- KeyEvent.KEYCODE_MEDIA_PAUSE -> {
|
|
|
|
- answerCall()
|
|
|
|
- }
|
|
|
|
- KeyEvent.KEYCODE_MEDIA_NEXT -> {}
|
|
|
|
- KeyEvent.KEYCODE_MEDIA_PREVIOUS -> {}
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return super.onMediaButtonEvent(intent)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- */
|
|
|
|
}
|
|
}
|
|
|
|
|
|
override fun onStart() {
|
|
override fun onStart() {
|
|
@@ -175,6 +139,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
|
|
|
|
|
|
fun answerCall(){
|
|
fun answerCall(){
|
|
// asyncPlayer.stop()
|
|
// asyncPlayer.stop()
|
|
|
|
+ DeviceChannel.calling = true
|
|
isAnswerOrHangUp = true
|
|
isAnswerOrHangUp = true
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
countDownTimer?.cancel()
|
|
countDownTimer?.cancel()
|
|
@@ -201,6 +166,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
|
|
|
|
|
|
override fun onFinish() {
|
|
override fun onFinish() {
|
|
if (isAnswerOrHangUp) return
|
|
if (isAnswerOrHangUp) return
|
|
|
|
+ DeviceChannel.calling = false
|
|
Log.i(TAG, "时间到 转发了")
|
|
Log.i(TAG, "时间到 转发了")
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
//todo 给服务器发送转接 tcp
|
|
//todo 给服务器发送转接 tcp
|
|
@@ -233,15 +199,6 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
|
|
|
|
- Log.i(TAG, "keydown keyCode " + keyCode)
|
|
|
|
- if (keyCode == 24) {
|
|
|
|
- answerCall()
|
|
|
|
- return true
|
|
|
|
- }
|
|
|
|
- return super.onKeyDown(keyCode, event)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
fun onMoonEvent(messageEvent: MessageEvent) {
|
|
fun onMoonEvent(messageEvent: MessageEvent) {
|
|
if (messageEvent.tag == 2) {
|
|
if (messageEvent.tag == 2) {
|
|
@@ -252,6 +209,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
|
|
countDownTimer?.cancel()
|
|
countDownTimer?.cancel()
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
mVibrator.cancel()
|
|
mVibrator.cancel()
|
|
|
|
+ DeviceChannel.calling = false
|
|
// asyncPlayer.stop()
|
|
// asyncPlayer.stop()
|
|
finish()
|
|
finish()
|
|
}
|
|
}
|
|
@@ -262,11 +220,12 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
|
|
|
|
|
|
override fun onDestroy() {
|
|
override fun onDestroy() {
|
|
super.onDestroy()
|
|
super.onDestroy()
|
|
- DeviceChannel.calling = false
|
|
|
|
|
|
+
|
|
isAnswerOrHangUp = false
|
|
isAnswerOrHangUp = false
|
|
if (countDownTimer != null) {
|
|
if (countDownTimer != null) {
|
|
countDownTimer?.cancel()
|
|
countDownTimer?.cancel()
|
|
}
|
|
}
|
|
|
|
+
|
|
// asyncPlayer.stop()
|
|
// asyncPlayer.stop()
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
MediaPlayHelper.getInstance().stopMusic()
|
|
mVibrator.cancel()
|
|
mVibrator.cancel()
|