我在用媒体播放器播放音乐文件时遇到一个奇怪的问题。
播放开始没有任何问题,一切正常。该应用程序不会崩溃。但每次我选择一首歌曲时,我都会收到以下 LogCatError:
11-18 16:26:19.800: E/MediaPlayer(11367): setDataSource JAVA path
11-18 16:26:19.800: E/MediaPlayer-JNI(11367): setDataSource: outside path in JNI is ?x@
11-18 16:26:19.855: E/MediaPlayer(11367): In prepareAsync
11-18 16:26:20.005: W/MediaPlayer(11367): info/warning (1, 44)
我不从互联网上下载文件,我只是播放存储在设备上的歌曲。
如果没有人能给我一个解决方案,如果有人能向我解释错误就好了。
最佳答案
在你的媒体播放器数据源周围使用 try catch,如下所示:
try {
mp.setDataSource(getApplicationContext(), ringtoneUri);
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
您必须捕获所有异常。 这对我有用。
关于android - 使用媒体播放器播放音乐时出现 LogCatError "setDataSource: outside path in JNI is ?x@",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185791/