http://blog.csdn.net/jwzhangjie/article/details/9947559链接地址
关于直播的相关信息这里不做详解,我们对直播应该很熟悉,实现生活中有各种直播,他们如何实现的呢,其实开发一个简单不能简单的直播,只需要两个:1、直播地址 2、播放器,对于直播地址我们可以利用很多软件获取连接,播放器,现在开源的也有很多,最常见的就是ffmpeg,但是如果直接用ffmpeg开发工作量比较大,我们可以使用第三方的播放器库,例如vlc,vitamio等等,这里我使用的时vitamio库。
首先建立一个项目,命名为Live,项目建立好了以后我们需要配置vitamio需要的环境,网上有很多,这里就不写出了,添加了依赖库后添加一个主界面,这里我只添加了一个EditView和Button,配置如下:
-
<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>
主界面的类:
-
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 io.vov.vitamio.LibsChecker;
-
import io.vov.vitamio.MediaPlayer;
-
import io.vov.vitamio.MediaPlayer.OnCompletionListener;
-
import io.vov.vitamio.MediaPlayer.OnInfoListener;
-
import io.vov.vitamio.widget.MediaController;
-
import io.vov.vitamio.widget.VideoView;
-
import android.annotation.SuppressLint;
-
import android.app.Activity;
-
import android.content.Context;
-
import android.content.pm.ActivityInfo;
-
import android.content.res.Configuration;
-
import android.media.AudioManager;
-
import android.net.Uri;
-
import android.os.Bundle;
-
import android.os.Handler;
-
import android.os.Message;
-
import android.util.Log;
-
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u012083681/article/details/22148663
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
-
发表于 2020-04-19 16:41:42
- 阅读 ( 1027 )
- 分类: