2014-03-03 29 views
0

我試圖做一個應用程序的Android 4.2.2。它只需在Android視頻視圖內無限循環播放一些靜音視頻。Android MediaPlayer.onInfo警告(952,0)

它工作正常,但有時會出現「無法播放此視頻」彈出窗口,儘管我看到彈出窗口下播放的視頻。我的應用程序應該運行時沒有任何輸入法,所以...¿是否有機會避免該彈出窗口?它似乎是隨機發生的,有時在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); 

回答

0

也許標準之一「什麼「常量拼寫錯誤?您可以嘗試匹配已知的「what」代碼(MEDIA_INFO_BAD_INTERLEAVING等)。

+0

Thanx爲你的迴應,然而,「什麼」常量似乎是罰款,並沒有一個是952. 我改變了返回值爲「真」,似乎現在工作正常..可以它是?我只是盲目地嘗試不同的東西...... – user3375883