1

Im trying to make an android application with live video streaming but whenever the related activity (this one) opens, it doesnt show anything except a blank screen. Can anyone please help me?

       package guc.edu.iremote;

import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.VideoView;

public class Video extends Activity  implements OnTouchListener{

VideoView videoView;
int stopPosition;
boolean touched;
protected WakeLock mWakeLock;
Dialog dialog;



@SuppressWarnings("deprecation")
public void OnCreate(Bundle b) {
    super.onCreate(b);
    this.setContentView(R.layout.video);



    videoView = (VideoView) findViewById(R.id.videoView1);


    PowerManager lPwrMgr = (PowerManager) getSystemService(POWER_SERVICE);
    mWakeLock = lPwrMgr.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,                 "Video");
    mWakeLock.acquire();


    videoView.setVisibility(View.VISIBLE);

    MediaController mc = new MediaController(this){
        @Override
        public void hide() {
            this.show(0);
        }

        @Override
        public void setMediaPlayer(MediaPlayerControl player) {
            super.setMediaPlayer(player);
            this.show();
        }
    };
    videoView.setMediaController(mc);
    mc.setAnchorView(videoView);

      dialog = ProgressDialog.show(Video.this, "", "Loading...",
            true);
    new Thread(new Runnable() {
        public void run() {

             String str = "rtsp://v4.cache2.c.youtube.com/"+
                    "CkELENy73wIaOAng93Xa-"+ 
                        "iQH5xMYESARFEIJbXYtZ29vZ2xlSARSBXdhdGNoWglDbGlja0xpbmtgg9fFkeTLublGDA==/"+ 
                    "0/0/0/video.3gp";  

            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
            Uri uri = Uri.parse(str);
            videoView.setVideoURI(uri);
             videoView.setOnTouchListener(this);
            videoView.requestFocus();
            videoView.setZOrderOnTop(false);
            videoView.start();
            dialog.dismiss();
        }
    }).start();





}



@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    //videoView.seekTo(stopPosition);
    //videoView.resume();
}


protected void onPause() {
    super.onPause();
    if (videoView != null) {
        stopPosition = videoView.getCurrentPosition();
        videoView.pause();
    }

}



public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
    if(v==videoView)
    {
        System.out.println("touched"); 

        if(!touched)
        {
            onPause();
            touched = true;
        }
        else
            onResume();
            touched  = false;
    }
    return false;
}

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();

    // release wake-lock 
    if(mWakeLock != null){
        mWakeLock.release();
    }
}
}

AND THIS is for the XML

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <VideoView
        android:id="@+id/videoView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout> 
Praful Bhatnagar
  • 7,425
  • 2
  • 36
  • 44
Omar Abdelrazik
  • 683
  • 2
  • 9
  • 30

2 Answers2

0

what is that link:

rtsp://v4.cache2.c.youtube.com/CkELENy73wIaOAng93Xa-iQH5xMYESARFEIJbXYtZ29vZ2xlSARSBXdhdGNoWglDbGlja0xpbmtgg9fFkeTLublGDA==/0/0/0/video.3gp

?

it doesn't seem to work. should maybe fix that link if it's broken and then try it. But... to verify that this is the problem, can you replace it with the link to another video file that is working? (let me know if you need some, but google can provide a ton :)

EDIT

as the other guy (earlier other answer) commented, you also need to access your UI in the mainthread, and not in background thread. so you should post to UI thread like:

Runnable r = new Runnable(){ /* the updating videoView stuff you wanted to do*/ };
ctx.runOnUIThread(r); 

where ctx is a reference to your current activity.

David T.
  • 22,301
  • 23
  • 71
  • 123
  • 1
    Thanks ive managed to solve it, the problem was in the link, i got a new link and the stream is working perfectly, thanks alot :) – Omar Abdelrazik Nov 20 '12 at 09:48
0

Also:

videoView.setZOrderOnTop(false); <- wrong
videoView.setZOrderOnTop(true); <- right