More media player related enhancements
This commit is contained in:
@@ -545,6 +545,7 @@ class BaresipService: Service() {
|
|||||||
CallHistory.save()
|
CallHistory.save()
|
||||||
ua.account.missedCalls = true
|
ua.account.missedCalls = true
|
||||||
}
|
}
|
||||||
|
playUnInterrupted(R.raw.callwaiting, 1)
|
||||||
if (!Utils.isVisible())
|
if (!Utils.isVisible())
|
||||||
return
|
return
|
||||||
newEvent = "call rejected"
|
newEvent = "call rejected"
|
||||||
@@ -748,9 +749,9 @@ class BaresipService: Service() {
|
|||||||
stopMediaPlayer()
|
stopMediaPlayer()
|
||||||
when (ev[2]) {
|
when (ev[2]) {
|
||||||
"busy" ->
|
"busy" ->
|
||||||
playNTimes(R.raw.busy, 1)
|
playMedia(R.raw.busy, 1)
|
||||||
"error" ->
|
"error" ->
|
||||||
playNTimes(R.raw.error, 1)
|
playMedia(R.raw.error, 1)
|
||||||
}
|
}
|
||||||
call.remove()
|
call.remove()
|
||||||
if (Call.calls().size == 0) {
|
if (Call.calls().size == 0) {
|
||||||
@@ -1154,17 +1155,27 @@ class BaresipService: Service() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun playNTimes(raw: Int, count: Int) {
|
private fun playMedia(raw: Int, count: Int) {
|
||||||
if (mediaPlayer == null ) {
|
if (mediaPlayer == null ) {
|
||||||
mediaPlayer = MediaPlayer.create(this, raw)
|
mediaPlayer = MediaPlayer.create(this, raw)
|
||||||
mediaPlayer?.setOnCompletionListener {
|
mediaPlayer?.setOnCompletionListener {
|
||||||
stopMediaPlayer()
|
stopMediaPlayer()
|
||||||
if (count > 1) playNTimes(raw, count - 1)
|
if (count > 1) playMedia(raw, count - 1)
|
||||||
}
|
}
|
||||||
mediaPlayer?.start()
|
mediaPlayer?.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun playUnInterrupted(raw: Int, count: Int) {
|
||||||
|
val player = MediaPlayer.create(this, raw)
|
||||||
|
player.setOnCompletionListener {
|
||||||
|
it.stop()
|
||||||
|
it.release()
|
||||||
|
if (count > 1) playUnInterrupted(raw, count - 1)
|
||||||
|
}
|
||||||
|
player.start()
|
||||||
|
}
|
||||||
|
|
||||||
private fun stopMediaPlayer() {
|
private fun stopMediaPlayer() {
|
||||||
mediaPlayer?.stop()
|
mediaPlayer?.stop()
|
||||||
mediaPlayer?.release()
|
mediaPlayer?.release()
|
||||||
|
|||||||
Reference in New Issue
Block a user