资源简介
Android手机直播推流demo(yasea),支持SRS推流以及滤镜功能
代码片段和文件信息
package net.ossrs.yasea.demo;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.hardware.Camera;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.github.faucamp.simplertmp.RtmpHandler;
import com.seu.magicfilter.utils.MagicFilterType;
import net.ossrs.yasea.SrsCameraView;
import net.ossrs.yasea.SrsEncodeHandler;
import net.ossrs.yasea.SrsPublisher;
import net.ossrs.yasea.SrsRecordHandler;
import java.io.IOException;
import java.net.SocketException;
import java.util.Random;
public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpListener
SrsRecordHandler.SrsRecordListener SrsEncodeHandler.SrsEncodeListener {
private static final String TAG = “Yasea“;
private Button btnPublish;
private Button btnSwitchCamera;
private Button btnRecord;
private Button btnSwitchEncoder;
private SharedPreferences sp;
private String rtmpUrl = “rtmp://ossrs.net/“ + getRandomAlphaString(3) + ‘/‘ + getRandomAlphaDigitString(5);
private String recPath = Environment.getExternalStorageDirectory().getPath() + “/test.mp4“;
private SrsPublisher mPublisher;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_main);
// response screen rotation event
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
// restore data.
sp = getSharedPreferences(“Yasea“ MODE_PRIVATE);
rtmpUrl = sp.getString(“rtmpUrl“ rtmpUrl);
// initialize url.
final EditText efu = (EditText) findViewById(R.id.url);
efu.setText(rtmpUrl);
btnPublish = (Button) findViewById(R.id.publish);
btnSwitchCamera = (Button) findViewById(R.id.swCam);
btnRecord = (Button) findViewById(R.id.record);
btnSwitchEncoder = (Button) findViewById(R.id.swEnc);
mPublisher = new SrsPublisher((SrsCameraView) findViewById(R.id.glsurfaceview_camera));
mPublisher.setEncodeHandler(new SrsEncodeHandler(this));
mPublisher.setRtmpHandler(new RtmpHandler(this));
mPublisher.setRecordHandler(new SrsRecordHandler(this));
mPublisher.setPreviewResolution(640 360);
mPublisher.setOutputResolution(360 640);
mPublisher.setVideoHDMode();
mPublisher.startCamera();
btnPublish.setonclickListener(new View.onclickListener() {
@Override
public void onclick(View v) {
if (btnPubl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-07-19 09:00 yasea-master\
文件 105 2017-07-19 09:00 yasea-master\.gitignore
文件 1128 2017-07-19 09:00 yasea-master\LICENSE
文件 2482 2017-07-19 09:00 yasea-master\README.md
目录 0 2017-07-19 09:00 yasea-master\app\
文件 8 2017-07-19 09:00 yasea-master\app\.gitignore
文件 765 2017-07-19 09:00 yasea-master\app\build.gradle
目录 0 2017-07-19 09:00 yasea-master\app\src\
目录 0 2017-07-19 09:00 yasea-master\app\src\main\
文件 1263 2017-07-19 09:00 yasea-master\app\src\main\AndroidManifest.xm
目录 0 2017-07-19 09:00 yasea-master\app\src\main\java\
目录 0 2017-07-19 09:00 yasea-master\app\src\main\java\net\
目录 0 2017-07-19 09:00 yasea-master\app\src\main\java\net\ossrs\
目录 0 2017-07-19 09:00 yasea-master\app\src\main\java\net\ossrs\yasea\
目录 0 2017-07-19 09:00 yasea-master\app\src\main\java\net\ossrs\yasea\demo\
文件 14367 2017-07-19 09:00 yasea-master\app\src\main\java\net\ossrs\yasea\demo\MainActivity.java
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\layout\
文件 2257 2017-07-19 09:00 yasea-master\app\src\main\res\layout\activity_main.xm
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\menu\
文件 1775 2017-07-19 09:00 yasea-master\app\src\main\res\menu\menu_main.xm
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-hdpi\
文件 3418 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-hdpi\ic_launcher.png
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-mdpi\
文件 2206 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-mdpi\ic_launcher.png
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-xhdpi\
文件 4842 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-xhdpi\ic_launcher.png
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-xxhdpi\
文件 7718 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-xxhdpi\ic_launcher.png
目录 0 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-xxxhdpi\
文件 10486 2017-07-19 09:00 yasea-master\app\src\main\res\mipmap-xxxhdpi\ic_launcher.png
............此处省略904个文件信息
- 上一篇:Java 1.5API 中文完整版卷2
- 下一篇:java版网络五子棋
评论
共有 条评论