七牛直播demo加载页

原创 2016年06月01日 10:18:19
package com.pili.pldroid.streaming.camera.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends Activity {
    private static final String TAG = "MainActivity";
    private static final String URL = "url";

    private static boolean isSupportHWEncode() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2;
    }

    private Button mHWCodecCameraStreamingBtn;
    private Button mSWCodecCameraStreamingBtn;
    private Button mAudioStreamingBtn;

    public String requestByHttpPost() {
        try {
            HttpPost httpPost = new HttpPost(URL);
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("model", android.os.Build.MODEL));
            HttpEntity entity = new UrlEncodedFormEntity(params, HTTP.UTF_8);
            httpPost.setEntity(entity);
            HttpClient httpClient = new DefaultHttpClient();
            HttpResponse httpResp = httpClient.execute(httpPost);
            int statusCode = httpResp.getStatusLine().getStatusCode();
            Log.i(TAG, "statusCode:" + statusCode);
            if (statusCode == 200) {
                Log.i(TAG, "HttpPost success!");
                return EntityUtils.toString(httpResp.getEntity(), HTTP.UTF_8);
            } else {
                Log.i(TAG, "HttpPost failed!");
                return null;
            }
        } catch (Exception e) {
            showToast("Network error!");
        }
        return null;
    }

    void showToast(final String msg) {
        this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
            }
        });
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mHWCodecCameraStreamingBtn = (Button) findViewById(R.id.hw_codec_camera_streaming_btn);
        if (!isSupportHWEncode()) {
            mHWCodecCameraStreamingBtn.setVisibility(View.INVISIBLE);
        }
        mHWCodecCameraStreamingBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            String res = requestByHttpPost();



                            if (res == null) {
                                showToast("Stream Json Got Fail!");
                                return;
                            }
                            Intent intent = new Intent(MainActivity.this, HWCodecCameraStreamingActivity.class);
                            intent.putExtra("stream_json_str", res);
                            startActivity(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }).start();

            }
        });

        mSWCodecCameraStreamingBtn = (Button) findViewById(R.id.sw_codec_camera_streaming_btn);
        mSWCodecCameraStreamingBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            String res = requestByHttpPost();
                            if (res == null) {
                                showToast("Stream Json Got Fail!");
                                return;
                            }
                            Intent intent = new Intent(MainActivity.this, SWCodecCameraStreamingActivity.class);
                            intent.putExtra("stream_json_str", res);
                            startActivity(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }).start();

            }
        });

        mAudioStreamingBtn = (Button) findViewById(R.id.start_pure_audio_streaming_btn);
        mAudioStreamingBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            String res = requestByHttpPost();
                            if (res == null) {
                                showToast("Stream Json Got Fail!");
                                return;
                            }
                            Intent intent = new Intent(MainActivity.this, AudioStreamingActivity.class);
                            intent.putExtra("stream_json_str", res);
                            startActivity(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        });
    }
}

七牛直播demo项目Android版本

  • 2016年10月11日 11:12
  • 7.87MB
  • 下载

如何从 0 到 1 开发一款完整的直播 APP

本文来自于七牛云博客,非经作者同意,请勿转载,原文地址:http://blog.qiniu.com/archives/7006...
  • u010646653
  • u010646653
  • 2016年11月04日 16:07
  • 1367

【直播】七牛直播RTMP 实现 一般可以用于直播等应用等 更新中

七牛直播RTMP 实现 一般可以用于直播等应用等 总结 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTM...
  • qq_14997169
  • qq_14997169
  • 2016年10月06日 23:18
  • 4157

七牛直播服务sdk

最近要做一个直播的项目,用的七牛的直播服务,看七牛的服务端sdk比较繁琐,还有很多注释是我厌烦的英文注释,做了一个基类对其调用。...
  • u010454239
  • u010454239
  • 2016年12月25日 11:45
  • 981

七牛---Pili直播推流SDK问题总结

以下为分类总结的Pili推流端的代码:package com.dxy.cloud.myapplication; import android.app.Activity; import android....
  • netdxy
  • netdxy
  • 2016年07月01日 09:54
  • 9139

七牛---借助第三方平台实现移动直播

七牛---借助第三方平台实现移动直播   七牛关于回调流程  直播工作流模型 Client (iOS/Android/PC/Camera) 向 Server (...
  • ygf1234567890
  • ygf1234567890
  • 2016年05月18日 20:24
  • 3315

Java--七牛云存储图片示例

项目中会用到大量的图片和小视频,为了分担服务器压力,将文件都放在七牛云。这里的思路很简单,就是移动端、pc端把文件上传到服务器,服务器做一个临时缓存,保存必要的信息到数据库后,将文件上传到七牛云,最后...
  • change_on
  • change_on
  • 2017年03月28日 17:58
  • 480

java 上传文件到七牛云存储的demo

maven     引用 网上maven服务器 以及最新版的maven依赖 public http://192.168.2.115:8081/nexus/content/gro...
  • AlbertFly
  • AlbertFly
  • 2016年05月25日 17:45
  • 7588

七牛推流SDK demo 中 关键类的注释

SWCodecCameraStreamingActivity package com.pili.pldroid.streaming.camera.demo; import android.grap...
  • lipengshiwo
  • lipengshiwo
  • 2016年10月18日 15:42
  • 2054

使用七牛直播平台SDK和环信IM低仿映客直播APP的应用

Introduction这是一款低仿映客直播的Android直播聊天应用,本项目通过使用七牛的直播平台提供的sdk进行推流和拉流,使用环信IM来作为用户系统的管理直播聊天室中消息收发、发送礼物、弹幕、...
  • jiujiedexiaoming
  • jiujiedexiaoming
  • 2016年10月13日 21:54
  • 1885
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:七牛直播demo加载页
举报原因:
原因补充:

(最多只允许输入30个字)