相关疑难解决方法(0)

Android从内部存储播放资源文件会导致MediaPlayer.prepare提供IOException

我的应用程序从为我的应用程序指定的内部目录(/ 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)

resources android ioexception media-player prepare

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

ioexception ×1

media-player ×1

prepare ×1

resources ×1