gpt4 book ai didi

java - 如何优雅地检查原始资源是否不存在?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:12 24 4
gpt4 key购买 nike

我的类中有一个名为 play 的方法,我想要播放一个音频文件。播放哪个文件取决于类当前的 audioIndex 值。基本上,有一个这样的开关:

int rId; 
switch (audioIndex){
case 0: rId = R.raw.e0.wav; break;
case 1: rId = R.raw.e1.wav; break;
default: rId = R.raw.error.wav; break;
}

切换后,我想在将 rId 传递给 MediaPlayer.create(this, rId) 之前验证它是否有效。如果 id 不存在或无法打开,create 似乎不会抛出异常。所以我必须在通过之前检查一下吗?

如何优雅地处理这个问题?到现在为止,我只是假设 rId 总是正确的,但我想检查一下以确保。

最佳答案

您可以使用 this method 从文件名中获取资源标识符.如果它不是有效的资源 ID,它将返回 0。参见 this question了解更多。

如果资源不存在,则项目不应编译,因为 R.java 中不存在 R.resourcetype.resourcename。这仅在您不知道在运行时将拥有哪些资源时才有用。

关于java - 如何优雅地检查原始资源是否不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853935/

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