gpt4 book ai didi

java - 获取 MP3 的标题会抛出 "java.lang.IllegalArgumentException"

转载 作者:行者123 更新时间:2023-12-01 09:37:51 25 4
gpt4 key购买 nike

为什么这段代码会抛出 IllegalArgumentException?我想显示位于“raw”文件夹中的 MP3 文件的标题

mediaPlayer = MediaPlayer.create(getActivity(), R.raw.willy_william_ego);
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
Uri uri = (Uri) Uri.fromFile(new File("android.resource://com.hthl.kellergassen_app/raw/willy_william_ego"));
mmr.setDataSource(getActivity(), uri);
String title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);

最佳答案

假设您在 setDataSource 中遇到问题,这是因为您传入的 URI 由于某种原因无效 - 很可能是因为找不到该文件。您确定它以该名称存在并且没有文件扩展名吗?

来自 Javadoc...

void setDataSource(上下文上下文,Uri uri)

将数据源设置为内容 Uri。在此类中的其余方法之前调用此方法。此方法可能比较耗时。

参数context Context:解析 Uri 时使用的上下文uri Uri:要播放的数据的Content URI

抛出如果 Uri 无效,则出现 IllegalArgumentException如果由于缺乏权限而无法使用 Uri,则会出现 SecurityException。

更新 - 查看您的代码后,您似乎正在使用硬编码字符串 com.hthl.kellergassen_app 作为包名称,但这是不正确的。根据堆栈跟踪,它是 com.htlhl.kellergassen_app - 请注意“htlhl”中的额外“l”(位于您用于创建 URI 的字符串中)。

关于java - 获取 MP3 的标题会抛出 "java.lang.IllegalArgumentException",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38701740/

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