Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-Android Studio MP3的使用_Java_Android_Mp3 - Fatal编程技术网

Java-Android Studio MP3的使用

Java-Android Studio MP3的使用,java,android,mp3,Java,Android,Mp3,我正在开发一种方法,在android中,调用各种mp3文件名,而不是使用无数的开关盒。如果有500多个mp3文件与不同的名称(声音)关联,那么有什么更好的方法来代替调用无数的开关盒 我使用2d字符串:字符串数组进行1:1字符串对匹配。我试图研究映射,但使用数组似乎有利于使用两个字符串的唯一索引 我想根据识别的字符串将其绑定到mp3音频中 谢谢你的阅读 有些事我试过了 mplayer=MediaPlayer.create(这个,R.raw.array[]) 在此之前,我会有一个函数来识别它正在查看

我正在开发一种方法,在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);
    }
}