Java 尝试从ID3v1标记读取流派时出现NullPointerException
我试图使用Beaglebuddy和JaudioTagger库从mp3文件中读取流派标记,我得到一个NullPointerException指向: 使用Beaglebuddy时,其原因是:Java 尝试从ID3v1标记读取流派时出现NullPointerException,java,android,Java,Android,我试图使用Beaglebuddy和JaudioTagger库从mp3文件中读取流派标记,我得到一个NullPointerException指向: 使用Beaglebuddy时,其原因是: songs.add(mp3.getMusicType().toString()); songs.add(f.getID3v1Tag().getGenre().toString()); 或者当我使用Jaudiotager时,其原因是: songs.add(mp3.getMusicType().toString
songs.add(mp3.getMusicType().toString());
songs.add(f.getID3v1Tag().getGenre().toString());
或者当我使用Jaudiotager时,其原因是:
songs.add(mp3.getMusicType().toString());
songs.add(f.getID3v1Tag().getGenre().toString());
我想我没有正确地使用这些方法,因为我确信类型已经设置好了。有谁能告诉我应该如何获得流派吗?如果你在同一个地方使用这两行,并且两行都获得了NPE-很可能歌曲为空,这是在这两个地方访问的唯一变量。我建议将该行分成多个部分,保存中间值,并在调试器下运行,以查看哪一个为空。如果您在同一位置使用这两行,并且两行都得到NPE,那么songs为空的可能性很大,这是在这两个位置访问的唯一变量。我建议将该行分成多个部分,保存中间值,并在调试器下运行,以查看哪一个为null。我使用了JAudioTagger 2.0.4库。 ID3V1标签输出:
ID3v1Tag v1Tag = f.getID3v1Tag();
v1Tag.getFirstGenre();
我使用了Jaudiotager 2.0.4库。 ID3V1标签输出:
ID3v1Tag v1Tag = f.getID3v1Tag();
v1Tag.getFirstGenre();
正如你所说,我已经试过了,现在它指向mp3.getMusicType().toString()。所以它不是songs数组。@user1477362您是否尝试过将该行分成多个部分,并在调试器中检查哪个部分为空?我已经按照您所说的进行了尝试,现在它指向mp3.getMusicType().toString()。所以这不是歌曲数组。@user1477362你有没有尝试过将该行分成多个部分,并在调试器中检查哪个部分为空?请说正确的英语,这很难理解不是每个人都能完美英语:请说正确的英语,这很难理解不是每个人都能完美英语:P