Java-Android Studio MP3的使用
我正在开发一种方法,在android中,调用各种mp3文件名,而不是使用无数的开关盒。如果有500多个mp3文件与不同的名称(声音)关联,那么有什么更好的方法来代替调用无数的开关盒 我使用2d字符串:字符串数组进行1:1字符串对匹配。我试图研究映射,但使用数组似乎有利于使用两个字符串的唯一索引 我想根据识别的字符串将其绑定到mp3音频中 谢谢你的阅读 有些事我试过了 mplayer=MediaPlayer.create(这个,R.raw.array[])Java-Android Studio MP3的使用,java,android,mp3,Java,Android,Mp3,我正在开发一种方法,在android中,调用各种mp3文件名,而不是使用无数的开关盒。如果有500多个mp3文件与不同的名称(声音)关联,那么有什么更好的方法来代替调用无数的开关盒 我使用2d字符串:字符串数组进行1:1字符串对匹配。我试图研究映射,但使用数组似乎有利于使用两个字符串的唯一索引 我想根据识别的字符串将其绑定到mp3音频中 谢谢你的阅读 有些事我试过了 mplayer=MediaPlayer.create(这个,R.raw.array[]) 在此之前,我会有一个函数来识别它正在查看
在此之前,我会有一个函数来识别它正在查看的数组中的哪个字符串,并使用相同的名称调用相应的音频文件,但将来可能会出现重复字符串的问题我很难理解您的问题,但我假设您有一个指向MP3文件的文件路径列表,并且对于这些文件路径中的每一个,您都有一个字符串标识符 我还假设您正在使用和 例子:
如果上述假设成立,那么您可以实现一个包含标识符和文件路径(作为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);
}
}
公共类示例类{
private final HashMap identifierAssociations=new HashMap();
公共媒体播放器getPlayer(最终字符串标识符){
最终URI fileURI=identifierAssociations.get(标识符);
最终媒体=新媒体(fileURI);
返回新的MediaPlayer(媒体);
}
}
这是一个开始,但是您需要加载所有文件路径的列表和每个路径的标识符,以便首先填充HashMap
作为一个非常简单的解决方案,您可以简单地解析文件名(不带扩展名)并将其用作标识符字符串
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);
}
}