我在使用MediaMetadataRetrIEver检索mp3文件的艺术家和标题时收到错误(setDataSource失败0x8000000),但我无法理解原因.在我的模拟器上运行时,它运行正常,但在我的Samsung S4上运行时崩溃.我知道目录是正确的(/ storage / extSdCard / Music /),因为我可以毫无问题地加载文件名.有人可以解释为什么这不起作用?
@H_403_5@ if (songs.size() != 0){ for (int x = 0; x < songs.size(); x++){ MediaMetadataRetrIEver mmr = new MediaMetadataRetrIEver(); mmr.setDataSource(SD_PATH + songs.get(x)); String tagTitle = mmr.extractMetadata(MediaMetadataRetrIEver.MetaDATA_KEY_Title); String tagArtist = mmr.extractMetadata(MediaMetadataRetrIEver.MetaDATA_KEY_ARTIST); taggedSongs.add(tagArtist + " - " + tagTitle); } ArrayAdapter<String> songList = new ArrayAdapter<String>(this,R.layout.song_item,taggedSongs);
编辑:
logcat的:
@H_403_5@09-15 10:55:02.805: E/AndroIDRuntime(1292): FATAL EXCEPTION: main09-15 10:55:02.805: E/AndroIDRuntime(1292): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jimmy.jimp3/com.jimmy.jimp3.MainActivity}: java.lang.RuntimeException: setDataSource Failed: status = 0x8000000009-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2249)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.ActivityThread.access$700(ActivityThread.java:154)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.os.Handler.dispatchMessage(Handler.java:99)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.os.Looper.loop(Looper.java:137)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.ActivityThread.main(ActivityThread.java:5306)09-15 10:55:02.805: E/AndroIDRuntime(1292): at java.lang.reflect.Method.invokeNative(Native Method)09-15 10:55:02.805: E/AndroIDRuntime(1292): at java.lang.reflect.Method.invoke(Method.java:511)09-15 10:55:02.805: E/AndroIDRuntime(1292): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)09-15 10:55:02.805: E/AndroIDRuntime(1292): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:869)09-15 10:55:02.805: E/AndroIDRuntime(1292): at dalvik.system.NativeStart.main(Native Method)09-15 10:55:02.805: E/AndroIDRuntime(1292): Caused by: java.lang.RuntimeException: setDataSource Failed: status = 0x8000000009-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.media.MediaMetadataRetrIEver.setDataSource(Native Method)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.media.MediaMetadataRetrIEver.setDataSource(MediaMetadataRetrIEver.java:66)09-15 10:55:02.805: E/AndroIDRuntime(1292): at com.jimmy.jimp3.MainActivity.taggedplayList(MainActivity.java:78)09-15 10:55:02.805: E/AndroIDRuntime(1292): at com.jimmy.jimp3.MainActivity.onCreate(MainActivity.java:47)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.Activity.performCreate(Activity.java:5255)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)09-15 10:55:02.805: E/AndroIDRuntime(1292): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2213)09-15 10:55:02.805: E/AndroIDRuntime(1292): ... 11 more
解决方法:
在我的情况下,问题是由于我的应用程序需要访问互联网时忘记设置INTERNET权限.菜鸟错误.
总结以上是内存溢出为你收集整理的android – setDataSource失败0x8000000全部内容,希望文章能够帮你解决android – setDataSource失败0x8000000所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)