我有一个Mediametadatareview,但是当我使用setDataSource()get out 时,我注意到错误是由于具有该名称/storage/sdcard/NhạcCuảTôi.mp3的文件(文件名是越南语)引起的。如何将该文件更改为真正的 URI?这是我的代码 mediaMetadataRetriever = new MediaMetadataRetriever(); Uri u = Uri.parse(filedata); mediaMetadataRetriever.setDataSource(MainAC.this, u); String gene= mediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE);它坠毁在 mediaMetadataRetriever.setDataSource(MainAC.this, u);我认为错误是因为文件名有重音,有什么方法可以帮助将字符串转换为 URI 并取消标记?因为如果我删除带有该标志的文件,则应用程序可以正常工作这是 LOGCAT : java.lang.RuntimeException: Unable to start activity ComponentInfo{dragonrocky.music/dragonrocky.music.MainAC}: java.lang.RuntimeException: setDataSource failed: status = 0x80000000 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2505) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2577) at android.app.ActivityThread.access$1000(ActivityThread.java:164) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1462) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:160) at android.app.ActivityThread.main(ActivityThread.java:5541) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) Caused by: java.lang.RuntimeException: setDataSource failed: status = 0x80000000 at android.media.MediaMetadataRetriever.setDataSource(Native Method) at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:71) at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:165) at dragonrocky.music.MainAC.loadAudio(MainAC.java:519) at dragonrocky.music.MainAC.onCreate(MainAC.java:156)
添加回答
举报
0/150
提交
取消