gpt4 book ai didi

android - 只播放一次闹钟声

转载 作者:行者123 更新时间:2023-11-29 18:08:01 25 4
gpt4 key购买 nike

我有一个可用的闹钟应用,但我想添加一个功能,让用户可以在“连续播放闹钟直到确认”和“播放一次闹钟声”之间进行选择。

然后我查看了我的警报响铃代码,希望看到某种我可以选择删除的“重复”标志 - 但没有。那么如何只播放一次闹钟?

我现有的代码如下所示:

private void playSound(Context context, Uri alert) 
{
mMediaPlayer = new MediaPlayer();
try
{
mMediaPlayer.setDataSource(context, alert);
final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0)
{
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
mMediaPlayer.prepare();
mMediaPlayer.start();
}
}
catch (IOException e)
{
// oops!
}
}

最佳答案

实际上,在每个闹钟声音中都有一个名为 ANDROID_LOOP 的 FLAG,它会强制您的声音循环播放。不幸的是,即使使用 MediaPlayer.setLooping(false),您也无法更改该标志。但是您仍然可以在一定时间后手动停止播放器。例如,getDuration 将为您提供声音的长度。

int duration = mMediaPlayer.getDuration();

Runnable stopSoundRunnable = new Runnable() {

@Override
public void run() {
mMediaPlayer.stop();
}
};

mSoundHanlder.postDelayed(stopSoundRunnable, duration);

关于android - 只播放一次闹钟声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12368408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com