在Kotlin中停止媒体播放器接听来电,可以通过以下步骤实现:
class PhoneStateReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val state = intent?.getStringExtra(TelephonyManager.EXTRA_STATE)
if (state == TelephonyManager.EXTRA_STATE_RINGING) {
// 停止媒体播放器
stopMediaPlayer()
}
}
}
<receiver android:name=".PhoneStateReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
fun stopMediaPlayer() {
if (mediaPlayer.isPlaying) {
mediaPlayer.stop()
mediaPlayer.release()
}
}
请注意,上述代码中的mediaPlayer是一个MediaPlayer对象,需要在适当的位置进行初始化。
这样,当有来电时,广播接收器会接收到来电状态的变化,并调用stopMediaPlayer()函数停止媒体播放器。
推荐的腾讯云相关产品:腾讯云移动直播(https://cloud.tencent.com/product/mlvb)可用于实时音视频直播场景,提供了丰富的功能和接口,方便开发者快速搭建媒体播放器和实现各种音视频处理需求。
领取专属 10元无门槛券
手把手带您无忧上云