gpt4 book ai didi

Java - Android Studio MP3 使用

转载 作者:行者123 更新时间:2023-11-30 00:49:25 24 4
gpt4 key购买 nike

我正在 android 中开发一种方法来调用各种 mp3 文件名,而不是使用无数的 switch case。如果要制作 500 多个与不同名称(声音)关联的 mp3 文件,有什么更好的方法来解决这个问题而不是调用无数的 switch case?

我使用 2d string:string 数组来进行一对 1:1 字符串匹配。我尝试研究映射,但使用数组似乎可以为两个字符串创建唯一索引。

我想根据识别的字符串将其绑定(bind)到 mp3 音频中。

感谢阅读!

我尝试过的一些东西

mplayer = MediaPlayer.create(this, R.raw.array[][]);

事先我会有一个函数来识别它正在查看数组中的哪个字符串并调用具有相同名称的相应音频文件,但将来可能会出现重复字符串的问题

最佳答案

我很难理解您的问题,但我假设您有一个指向 MP3 文件的文件路径列表,并且对于这些文件路径中的每一个,您都有一个字符串标识符。

我还假设您使用的是 MediaPlayerMedia .

示例:

FILE_PATH                IDENTIFIER
"C:\path\to\file.mp3" "Jinglebells"
"C:\path\to\file2.mp3" "Winter Wonderland"

如果上述假设成立,那么您可以实现一个包含标识符和文件路径(作为 URI)的 HashMap。这允许根据易于内存的标识符快速查找文件路径,并消除对复杂的 if-else 或 switch 语句的需要。

public class ExampleClass {
private final HashMap<String, URI> identifierAssociations = new HashMap<>();

public MediaPlayer getPlayer(final String identifier) {
final URI fileURI = identifierAssociations.get(identifier);
final Media media = new Media(fileURI);
return new MediaPlayer(media);
}
}

这是一个开始,但您需要加载所有文件路径的列表和每个文件路径的标识符,以便首先填充 HashMap。

作为一个非常简单的解决方案,您可以简单地解析文件名(不带扩展名)并将其用作标识符字符串。

关于Java - Android Studio MP3 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41308324/

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