当前位置:编程学习 > html/css >>

流媒体开发之--直播实现

关于直播的相关信息这里不做详解,我们对直播应该很熟悉,实现生活中有各种直播,他们如何实现的呢,其实开发一个简单不能简单的直播,只需要两个:1、直播地址 2、播放器,对于直播地址我们可以利用很多软件获取连接,播放器,现在开源的也有很多,最常见的就是ffmpeg,但是如果直接用ffmpeg开发工作量比较大,我们可以使用第三方的播放器库,例如vlc,vitamio等等,这里我使用的时vitamio库。

首先建立一个项目,命名为Live,项目建立好了以后我们需要配置vitamio需要的环境,网上有很多,这里就不写出了,添加了依赖库后添加一个主界面,这里我只添加了一个EditView和Button,配置如下:

 

[html]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".Live" > 
 
    <EditText 
        android:id="@+id/live_url" 
        android:layout_width="match_parent" 
        android:layout_height="100dp" /> 
 
    <Button 
        android:id="@+id/play" 
        android:layout_width="120dp" 
        android:layout_height="60dp" 
        android:layout_below="@id/live_url" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="100dp" 
        android:text="Play" > 
    </Button> 
 
</RelativeLayout> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Live" >

    <EditText
        android:id="@+id/live_url"
        android:layout_width="match_parent"
        android:layout_height="100dp" />

    <Button
        android:id="@+id/play"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_below="@id/live_url"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="100dp"
        android:text="Play" >
    </Button>

</RelativeLayout>
主界面的类:


[java]
package com.jwzhangjie.live; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
 
public class Live extends Activity { 
 
    public static final String  DEFAULTPATH = "http://ipadlive.cntv.soooner.com/cctv_p2p_hdcctv6.m3u8"; 
    EditText Live_Url; 
    Button PlayBtn; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_live); 
        Live_Url = (EditText)findViewById(R.id.live_url); 
        Live_Url.setText(DEFAULTPATH); 
        PlayBtn = (Button)findViewById(R.id.play); 
        PlayBtn.setOnClickListener(new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                Intent intent = new Intent(); 
                intent.setClass(Live.this, JieVideoPlayer.class); 
                String path = Live_Url.getText().toString(); 
                if (path == null) { 
                    path = DEFAULTPATH; 
                } 
                intent.putExtra("path", path); 
                startActivity(intent); 
            } 
        }); 
    } 
 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        getMenuInflater().inflate(R.menu.live, menu); 
        return true; 
    } 
 

package com.jwzhangjie.live;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Live extends Activity {

&nbs

补充:web前端 , HTML/CSS  ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,