Autore Topic: Errori Web/streaming  (Letto 312 volte)

Offline MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Errori Web/streaming
« il: 10 Luglio 2013, 15:17:11 CEST »
0
Salve a tutti :)
Nella mia app voglio gestire un layout di link web/streaming-video...
Codice (Java): [Seleziona]
public void ServizioVideoPlayer(){
                        ////////////////
                        if(stream.equals("disable")==true){//video normale
                                try{
                                        updateVideo = new CounterVideoTask();
                                        timerVideo = new Timer();
                                        timerVideo.scheduleAtFixedRate(updateVideo, 1200, 1000);
                                        mVideoView.setVideoPath(getDataSource(pathVideo));
                                        mVideoView.setVideoPath(pathVideo);                    
                                        mVideoView.start();
                                        stopVideo=(Button)findViewById(R.id.stopVideo);
                                        stopVideo.setBackgroundResource(R.drawable.black_menu_btn);
                                        stopVideo.getBackground().setAlpha(45);
                                        stopVideo.setOnClickListener(new OnClickListener() {
                                                public void onClick(View v) {
                                                        mVideoView.pause();
                                                        ErroriStatus();                
                                                }
                                        });
                                }catch (IOException e) {
                                        ErroriStatus();
                                }catch(Exception bb){
                                        ErroriStatus();
                                }
                        }else{///streaming e web
                                try{///provo il web
                                        updateVideo = new CounterVideoTask();
                                        timerVideo = new Timer();
                                        timerVideo.scheduleAtFixedRate(updateVideo, 1200, 1000);
                                        a=null;
                                        a=new ConnectedThread();
                                        a.start();
                                        mVideoView.setVideoPath(pathVideo);                    
                                        mVideoView.start();
                                        mVideoView.requestFocus();
                                }catch(Exception bb){//altrimenti streaming
                                        if(updateVideo!=null){
                                                updateVideo.cancel();
                                                timerVideo.cancel();
                                                updateVideo=null;
                                                timerVideo=null;
                                        }
                                        setContentView(R.layout.show_web);
                                        if(updateVideo!=null){
                                                updateVideo.cancel();
                                                timerVideo.cancel();
                                                updateVideo=null;
                                                timerVideo=null;
                                        }
                                        streamVideo = new StreamVideoTask();
                                        timerVideo = new Timer();
                                        timerVideo.scheduleAtFixedRate(streamVideo, 1200, 1000);
                                        ///////////////
                                        myWebView = (WebView) findViewById(R.id.webview);
                                        myWebView.getSettings().setJavaScriptEnabled(true);
                                        timer_stream=Integer.parseInt(stream);
                                        myWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
                                        myWebView.getSettings().setBuiltInZoomControls(true);
                                        ////////////////
                                        //////////////////////
                                        myWebView.setWebViewClient(new MyWebViewClient());
                                        myWebView.loadUrl(percorso);
                                        stopp=(Button)findViewById(R.id.buttonStopp);
                                        stopp.setBackgroundResource(R.drawable.black_menu_btn);
                                        stopp.getBackground().setAlpha(45);
                                        stopp.setOnClickListener(new OnClickListener(){
                                                public void onClick(View v) {
                                                        ErroriStatus();
                                                }
                                        });
                                  }
                        }
              }

////////////////////////////////////////////////////////////
        class CounterVideoTask extends TimerTask {//esecuzione normale dei video
                   public void run() {
                           Zero();
                           timer++;
                           Log.i("TIMER","timer attuale: "+timer);
                           if(mVideoView.isPlaying()==true){
                           }else{
                                        ErroriStatus();
                                }
                   }
        }
       
////////////////////////////////////////////////////////
       
        class StreamVideoTask extends TimerTask {//esecuzione normale dei video
                public void run() {
                        int app=0;
                        Log.i("TIMER STREAMING","timer attuale: "+timer_stream+" timer impostato: "+stream);
                        timer_stream++;
                        Zero();
                        try{
                                app=Integer.parseInt(stream);
                                if(timer_stream==app){
                                        ErroriStatus();
                                }
                        }catch(Exception bb){
                                ErroriStatus();
                        }
                }
        }
/////////////////////////////////si occupa della gestione della connessione e streaming
        private String getDataSource(String path) throws IOException {
                if (!URLUtil.isNetworkUrl(path)) {
                        return path;
                } else {
                        URL url = new URL(path);
                        URLConnection cn = url.openConnection();
                        cn.connect();
                        InputStream stream = cn.getInputStream();
                        if (stream == null)
                                throw new RuntimeException("stream is null");
                        File temp = File.createTempFile("mediaplayertmp", "dat");
                        temp.deleteOnExit();
                        String tempPath = temp.getAbsolutePath();
                        FileOutputStream out = new FileOutputStream(temp);
                        byte buf[] = new byte[128];
                        do {
                                int numread = stream.read(buf);
                                if (numread <= 0)
                                        break;
                                out.write(buf, 0, numread);
                        } while (true);
                        try {
                                stream.close();
                                out.close();
                        } catch (IOException ex) {
                                MESSAGE_ERROR=1;
                        }
                        return tempPath;
                }
        }
 //////////////////////////////////////////////////////////GESTIONE FILE STREAMING
  public class ConnectedThread extends Thread {
         
          public ConnectedThread() {}

      public  void run() {
          try {
                pathVideo=getDataSource(pathVideo);
                MESSAGE_ERROR=0;
          }catch (IOException e) {
                MESSAGE_ERROR=1;
          }
      }
 }
////////////////////////////////////////////// GESTIONE WEB CLIENT PER VISUALIZZAZIONE WEBPAGE
    @SuppressLint("SetJavaScriptEnabled")
        private class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView myWebView, String url) {
                try{
                        myWebView.getSettings().setJavaScriptEnabled(true);
                        myWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
                        myWebView.getSettings().setBuiltInZoomControls(true);
                        myWebView.loadUrl(url);
                        Button stopp=(Button)findViewById(R.id.buttonStopp);
                        stopp.setBackgroundResource(R.drawable.black_menu_btn);
                        stopp.getBackground().setAlpha(45);
                        stopp.setOnClickListener(new OnClickListener() {
                                public void onClick(View v) {
                                        ErroriStatus();
                                }
                        });
                }catch(Exception bb){}
                        return true;
        }
    }  

Questo è il LogCat

07-10 13:10:41.839: E/WindowManager(7461): Activity com.gestione.video.VideoPlayer has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4155b400 that was originally added here
07-10 13:10:41.839: E/WindowManager(7461): android.view.WindowLeaked: Activity com.gestione.video.VideoPlayer has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4155b400 that was originally added here
07-10 13:10:41.839: E/WindowManager(7461):    at android.view.ViewRootImpl.<init>(ViewRootImpl.java:374)
07-10 13:10:41.839: E/WindowManager(7461):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:292)
07-10 13:10:41.839: E/WindowManager(7461):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
07-10 13:10:41.839: E/WindowManager(7461):    at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
07-10 13:10:41.839: E/WindowManager(7461):    at android.view.Window$LocalWindowManager.addView(Window.java:547)
07-10 13:10:41.839: E/WindowManager(7461):    at android.app.Dialog.show(Dialog.java:277)
07-10 13:10:41.839: E/WindowManager(7461):    at android.app.AlertDialog$Builder.show(AlertDialog.java:932)
07-10 13:10:41.839: E/WindowManager(7461):    at android.widget.VideoView$4.onError(VideoView.java:396)
07-10 13:10:41.839: E/WindowManager(7461):    at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2001)
07-10 13:10:41.839: E/WindowManager(7461):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 13:10:41.839: E/WindowManager(7461):    at android.os.Looper.loop(Looper.java:137)
07-10 13:10:41.839: E/WindowManager(7461):    at android.app.ActivityThread.main(ActivityThread.java:4745)
07-10 13:10:41.839: E/WindowManager(7461):    at java.lang.reflect.Method.invokeNative(Native Method)
07-10 13:10:41.839: E/WindowManager(7461):    at java.lang.reflect.Method.invoke(Method.java:511)
07-10 13:10:41.839: E/WindowManager(7461):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-10 13:10:41.839: E/WindowManager(7461):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-10 13:10:41.839: E/WindowManager(7461):    at dalvik.system.NativeStart.main(Native Method)
07-10 13:10:41.869: D/dalvikvm(7461): GC_CONCURRENT freed 421K, 12% free 6868K/7751K, paused 12ms+2ms, total 36ms

Qualche idea o consiglio per fixare questo errore?
« Ultima modifica: 10 Luglio 2013, 15:29:22 CEST da MisterAnt »
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?