我的应用程序从为我的应用程序指定的内部目录(/ data/data/com ...)播放音频资源文件.它似乎将文件下载到该位置没关系,setDataSource(String path)不会抛出任何异常,但MediaPlayer.prepare()会抛出IOException.相同的代码在SD卡上运行.为什么会这样?
编辑:
我们假设这是代码; 它比我的代码更简单,并抛出相同的异常:
package com.app.MediaPlayerTest;
public class MediaTest extends Activity {
MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DownloadFiles();
MusicPlay();
}
public void DownloadFiles() {
//Downloads Files
}
public void MusicPlay()
{
try {
mp.setDataSource("/data/data/com.app.pronounce/winds.mp3");
} catch (IllegalArgumentException e1) {
e1.printStackTrace();
} catch (IllegalStateException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mp.setLooping(true);
mp.start();
} …
Run Code Online (Sandbox Code Playgroud)