Android MediaPlayer.onInfo警告(952,0)

时间:2014-03-03 17:39:37

标签: android android-videoview

我正在尝试为Android 4.2.2做一个应用程序。它只需要在android视频内的无限循环中播放一些静音视频。

它工作正常,但有时,我得到一个“无法播放此视频”弹出窗口,尽管我看到该弹出窗口下播放的视频。我的应用程序应该在没有任何输入法的情况下运行,所以......¿有没有机会避免弹出窗口?它似乎随机发生,有时在30-40分钟之后,有时在几个小时之后......它只是不可预测。

我试着调试它,最后添加一个onInfoListener,好像我得到了错误代码(952)。此外,我没有找到任何有关该错误的帮助...这是代码...任何提示/帮助都非常好,所以提前谢谢你...

...
    MediaPlayer.OnPreparedListener PreparedListener = new MediaPlayer.OnPreparedListener(){
     @Override
     public void onPrepared(MediaPlayer m) {
         try {
                if (m.isPlaying()) {
                    m.stop();
                    m.release();
                    m = new MediaPlayer();
                    m.setVolume(0f, 0f);
                }
                m.setLooping(false);
                m.start();
            } catch (Exception e) {
                e.printStackTrace();
            }    
     }
 };

video.setOnPreparedListener(PreparedListener); 
video.setOnInfoListener(new MediaPlayer.OnInfoListener() {  
    @Override
    public boolean onInfo(MediaPlayer mp, int what, int extra) {
        File file = new File(myRootDirectory.getAbsolutePath()+"/logVideo.txt");
        SimpleDateFormat s = new SimpleDateFormat("dd-MM-yyyy//HH:mm:ss");
        String format = s.format(new Date());
        String text = format+": ("+what+","+extra+")\n";

        if(what==952){
            text = "!!!!!!!!!!\n"+text; //What is this code 952...??

        }


        FileOutputStream f = null;
        try {
               f = new FileOutputStream(file,true); //True = Append to file, false = Overwrite
               PrintStream p = new PrintStream(f);
               p.print(text);
               p.flush();
               p.close();
               f.close();       
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                Log.i("Error", "******* File not found. Did you" +
                                " add a WRITE_EXTERNAL_STORAGE permission to the manifest?");
            } catch (IOException e) {
                e.printStackTrace();
            }
        Log.d("INFO LISTENER",what+" " + extra);
        return false;
    }
});
video.setVideoPath(nextVideo);

1 个答案:

答案 0 :(得分:0)

也许其中一个标准的“什么”常量拼写错误?您可能会尝试匹配已知的“what”代码(MEDIA_INFO_BAD_INTERLEAVING等)。