• 大小: 8.71MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-08
  • 语言: Java
  • 标签:

资源简介

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.xml
     目录           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.xml
     目录           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.xml
     目录           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个文件信息

评论

共有 条评论

相关资源