gpt4 book ai didi

android - Alarmmanager和Soundpool-Android

转载 作者:行者123 更新时间:2023-12-03 00:57:09 25 4
gpt4 key购买 nike

我正在做一个报警系统。警报工作正常,但声音不起作用..我正在做一些测试,但我不知道问题出在哪里。.在“警报” Activity 中,我有以下代码:

        setVolumeControlStream(AudioManager.STREAM_MUSIC);
soundPool = new SoundPool(20, AudioManager.STREAM_MUSIC, 0);
try {
AssetManager assetManager = getAssets();
AssetFileDescriptor descriptor = assetManager.openFd("sound.ogg");
mySoundId = soundPool.load(descriptor, 1);
} catch (IOException e) {
Log.d(TAG,"We've problem's!!, "
+ e.getMessage());
}

soundPool.play(mySoundId, 1, 1, 0, 0, 1);

没有错误..但是音乐不起作用..相反,如果我将PLAY编程为最底层的作品!谁能帮我吗?

最佳答案

我只是尝试了您的代码,然后发现了问题。这是SoundPool中的常见问题。您需要等待声音完成加载才能播放。这就是soundPool.play()返回零的原因。声音还没准备好。

在API 8中,引入了 setOnLoadCompleteListener() 可以解决此问题:

soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
public void onLoadComplete(SoundPool soundPool, int sampleId,int status) {
//play the sound.
}
});

但是,如果您的目标是较低的API,则无法确定声音是否已准备好播放。在这种情况下,建议您使用 MediaPlayer

关于android - Alarmmanager和Soundpool-Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12242939/

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