본문 바로가기

Android

첫번째 - VideoView를 이용한 RTSP Live Player

package net.kdgrid.videoview_test;


import android.app.Activity;

import android.net.Uri;

import android.os.Bundle;

import android.widget.MediaController;

import android.widget.VideoView;


public class VideoviewTestActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        VideoView video = (VideoView)findViewById(R.id.video);

        MediaController mc = new MediaController(this);  

        //Uri uri = Uri.parse("rtsp://192.168.0.62:1935/rtplive/stream.sdp");

        
        // 갤럭시 노트에서는 재생할 수 없는 동영상이라고 나옴... 쩝... (VLC로 보면 "시청"임 ㅋㅋ)

        Uri uri = Uri.parse("rtsp://210.179.218.41:1935/live/_definst_/46.sdp");

        

        video.setMediaController(mc);

        video.setVideoURI(uri);

        video.start();

        

        TextView heading = (TextView)findViewById(R.id.heading); 

        heading.getBackground().setAlpha(50); // 배경 alpha 주기

        heading.setSelected(true); // ajwl?

    }

}

-- File Name : VideoviewTestActivity.java

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="#FFFFFF"


    <!-- layout_align... 플레이화면 늘이기 임. -->

    <VideoView

        android:id="@+id/video"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:layout_gravity="center"

        android:layout_marginTop="0dp"

        android:layout_marginLeft="0dp" 

        android:fitsSystemWindows="true"

        android:layout_alignParentRight="true"

        android:layout_alignParentLeft="true"

        android:layout_alignParentTop="true"

        android:layout_alignParentBottom="true"

        />

    <TextView android:id="@+id/heading"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/marquee_text"

        android:textSize="50sp"

        android:typeface="sans"

        android:textStyle="bold|italic"

        android:singleLine="true"

        android:focusable="true"

        android:ellipsize="marquee"

        android:marqueeRepeatLimit="marquee_forever"

        android:scrollHorizontally="true"

        android:textColor="#FF0000"

        android:layout_marginTop="0dp"

        android:layout_marginLeft="0dp" 

        android:background="#0000FF"

        /> 

</RelativeLayout>

 -- File Name : main.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="net.kdgrid.videoview_test"

    android:versionCode="1"

    android:versionName="1.0" >


    <uses-sdk android:minSdkVersion="10" />


    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name" >

        <activity

            android:name=".VideoviewTestActivity"

            android:label="@string/app_name"

            android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>


</manifest>

 -- File Name : videoview.test.Manifest
 -- 보라색 부분을 넣으면 Fullscreen으로 됨... (프로그램 app_name 없어짐)

boolean isPlaying = video.isPlaying() 

 -- 플레이가 되고 있는지를 검사하는 방법 (video.start() 이후에 검사함)