如何在 android studio kotlin 中设置媒体播放器以与闹钟音量配合使用?

问题描述 投票:0回答:1

我正在尝试让我的媒体播放器使用警报音量而不是媒体音量。我已经尝试过这个,但它不起作用,有什么建议吗?另外,我是否想在某个时候更改声音文件,该解决方案可以与变量一起使用吗?

        val mediaPlayer1 = MediaPlayer.create(context2, R.raw.geese)
                                                                                                                                
        mediaPlayer1.setAudioAttributes(AudioAttributes.Builder().setUsage((AudioAttributes.USAGE_ALARM)).build())
        mediaPlayer1.start()
        mediaPlayer1.setLooping(true)
android kotlin android-mediaplayer
1个回答
0
投票

我找到了这个问题的解决方案。

按照说明使用以下代码。

首先声明媒体播放器如下图

private var thePlayer: MediaPlayer? = null

现在使用下面的代码来创建并播放警报声音。

try {
        thePlayer = MediaPlayer()
        thePlayer?.setAudioAttributes(AudioAttributes.Builder().setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED)
            .setLegacyStreamType(AudioManager.STREAM_ALARM)
            .setUsage(AudioAttributes.USAGE_ALARM)
            .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION).build())
        thePlayer?.setDataSource(context, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM))
        thePlayer?.isLooping = true
        thePlayer?.prepare()
        thePlayer?.start()
    } catch (e: Exception) {
        e.printStackTrace()
    }

要停止媒体播放器,请使用以下代码。

try {
        thePlayer?.stop()
        thePlayer?.release()
    } catch (e: Exception) {
        e.printStackTrace()
    }

注意:每次停止播放器时,请确保释放播放器,因为每次调用它时都会创建媒体播放器的新实例。

© www.soinside.com 2019 - 2024. All rights reserved.