Java - Android Studio MP3 用法
Java - Android Studio MP3 Usage
我正在 android 中开发一种方法来调用各种 mp3 文件名,而不是使用无数的 switch case。如果要制作 500 多个与不同名称(声音)关联的 mp3 文件,有什么更好的方法来解决这个问题而不是调用无数的 switch case?
我使用二维 string:string 数组来匹配一对 1:1 字符串。我尝试研究映射,但使用数组似乎有利于两个字符串的唯一索引。
我想根据识别的字符串将其绑定到 mp3 音频中。
感谢阅读!
我尝试过的一些东西
mplayer = MediaPlayer.create(这个, R.raw.array[][]);
事先我会有一个函数来识别它正在查看数组中的哪个字符串并调用具有相同名称的相应音频文件,但将来可能会出现重复字符串的问题
我很难理解你的问题,但我假设你有一个指向 MP3 文件的文件路径列表,并且对于这些文件路径中的每一个,你都有一个字符串标识符。
我还假设您正在使用 MediaPlayer and Media。
示例:
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。
作为一个非常简单的解决方案,您可以简单地解析文件名(不带扩展名)并将其用作标识符字符串。
我正在 android 中开发一种方法来调用各种 mp3 文件名,而不是使用无数的 switch case。如果要制作 500 多个与不同名称(声音)关联的 mp3 文件,有什么更好的方法来解决这个问题而不是调用无数的 switch case?
我使用二维 string:string 数组来匹配一对 1:1 字符串。我尝试研究映射,但使用数组似乎有利于两个字符串的唯一索引。
我想根据识别的字符串将其绑定到 mp3 音频中。
感谢阅读!
我尝试过的一些东西
mplayer = MediaPlayer.create(这个, R.raw.array[][]);
事先我会有一个函数来识别它正在查看数组中的哪个字符串并调用具有相同名称的相应音频文件,但将来可能会出现重复字符串的问题
我很难理解你的问题,但我假设你有一个指向 MP3 文件的文件路径列表,并且对于这些文件路径中的每一个,你都有一个字符串标识符。
我还假设您正在使用 MediaPlayer and Media。
示例:
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。
作为一个非常简单的解决方案,您可以简单地解析文件名(不带扩展名)并将其用作标识符字符串。