package com.bairuitech.demo;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Spinner;
public class VideoConfigActivity extends Activity{
private LinearLayout fullLayout;
private LinearLayout mainLayout;
private Button saveBtn;
private ConfigEntity configEntity;
private RadioGroup configModeRadioGroup; // 配置模式组
RadioButton configModeServerBtn; // 服务器配置
RadioButton configModeCustomBtn; // 自定义配置
TextView videoBitrateLable;
TextView resolutionLable;
TextView videoFpsLable;
TextView videoQualityLable;
TextView videoPresetLable;
private CheckBox enableP2PBox;
private CheckBox videoOverlayBox;
private CheckBox useARMv6Box;
private CheckBox useAECBox;
private CheckBox useHWCodecBox;
private CheckBox videoRotateBox;
private CheckBox smoothPlayBox;
private Spinner videoSizeSpinner;
private Spinner videoBitrateSpinner;
private Spinner videoFPSSpinner;
private Spinner videoQualitySpinner;
private Spinner videoPresetSpinner;
private final String[] videoSizeString={"176 x 144", "320 x 240(默认)", "352 x 288", "640 x 480", "720 x 480", "1280 x 720"};
private final int[] videoWidthValue={176,320,352,640, 720, 1280};
private final int[] videoHeightValue={144,240,288,480, 480, 720};
private final String[] videoBitrateString={"质量优先模式", "60kbps(默认)", "80kbps", "100kbps", "150kbps", "200kbps", "300kbps"};
private final int[] videoBitrateValue={0,60*1000,80*1000,100*1000,150*1000,200*1000,300*1000};
private final String[] videofpsString={"2 FPS", "4 FPS", "6 FPS", "8 FPS(默认)", "10FPS", "15FPS", "20FPS", "25FPS"};
private final int[] videofpsValue={2,4,6,8,10,15,20,25};
private final String[] qualityString={"普通视频质量", "中等视频质量(默认)", "较好视频质量"};
private final String[] presetString={"最高效率,较低质量","较高效率,较低质量","性能均衡(默认)","较高质量,较低效率","最高质量,较低效率"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
configEntity = ConfigService.LoadConfig(this);
InitialLayout();
}
private void InitialLayout()
{
this.setTitle("配置");
fullLayout = new LinearLayout(this);
fullLayout.setBackgroundColor(Color.WHITE);
fullLayout.setOrientation(LinearLayout.VERTICAL);
fullLayout.setOnTouchListener(touchListener);
mainLayout = new LinearLayout(this);
mainLayout.setBackgroundColor(Color.WHITE);
mainLayout.setOrientation(LinearLayout.VERTICAL);
mainLayout.setOnTouchListener(touchListener);
enableP2PBox = new CheckBox(this);
enableP2PBox.setText("启用P2P网络连接");
enableP2PBox.setTextColor(Color.BLACK);
mainLayout.addView(enableP2PBox,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
enableP2PBox.setChecked(configEntity.enableP2P != 0);
videoOverlayBox = new CheckBox(this);
videoOverlayBox.setText("Overlay视频模式");
videoOverlayBox.setTextColor(Color.BLACK);
mainLayout.addView(videoOverlayBox,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
videoOverlayBox.setChecked(configEntity.videoOverlay != 0);
videoRotateBox = new CheckBox(this);
videoRotateBox.setText("翻转视频");
videoRotateBox.setTextColor(Color.BLACK);
mainLayout.addView(videoRotateBox,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
videoRotateBox.setChecked(configEntity.videorotatemode != 0);
smoothPlayBox = new CheckBox(this);
smoothPlayBox.setText("视频平滑播放模式");
smoothPlayBox.setTextColor(Color.BLACK);
mainLayout.addView(smoothPlayBox,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
smoothPlayBox.setChecked(configEntity.smoothPlayMode != 0);
useARMv6Box = new CheckBox(this);
useARMv6Box.setText("强制使用ARMv6指令集(安全模式)");
useARMv6Box.setTextColor(Color.BLACK);
mainLayout.addView(useARMv6Box,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
useARMv6Box.setChecked(configEntity.useARMv6Lib != 0);
useAECBox = new CheckBox(this);
useAECBox.setText("启用回音消除(AEC)");
useAECBox.setTextColor(Color.BLACK);
mainLayout.addView(useAECBox,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
useAECBox.setChecked(configEntity.enableAEC != 0);
useHWCodecBox = new CheckBox(this);
useHWCodecBox.setText("启用平台内置硬件编解码(需重启应用程序)");
useHWCodecBox.setTextColor(Color.BLACK);
mainLayout.addView(useHWCodecBox,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
useHWCodecBox.setChecked(configEntity.useHWCodec != 0);
// 插入配置模式选择项
TextView configModeLable = new TextView(this);
configModeLable.setTextColor(Color.BLACK);
configModeLable.setText("选择配置模式:");
mainLayout.addView(configModeLable,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
configModeRadioGroup = new RadioGroup(this);
configModeServerBtn = new RadioButton(this);
configModeCustomBtn = new RadioButton(this);
configModeServerBtn.setTextColor(Color.BLACK);
configModeCustomBtn.setTextColor(Color.BLACK);
configModeServerBtn.setText("服务器配置参数");
configModeCustomBtn.setText("自定义配置参数");
configModeRadioGroup.addView(configModeServerBtn);
configModeRadioGroup.addView(configModeCustomBtn);
configModeServerBtn.setOnClickListener(listener);
configModeCustomBtn.setOnClickListener(listener);
if(configEntity.configMode == ConfigEntity.VIDEO_MODE_SERVERCONFIG)
configModeServerBtn.setChecked(true);
else
configModeCustomBtn.setChecked(true);
mainLayout.addView(configModeRadioGroup,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
//插入视频分辨率
resolutionLable = new TextView(this);
resolutionLable.setTextColor(Color.BLACK);
resolutionLable.setText("选择视频分辨率:");
mainLayout.addView(resolutionLable,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
videoSizeSpinner = new Spinner(this);
LinearLayout.LayoutParams videoSizeLP = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
videoSizeLP.gravity = Gravity.RIGHT;
mainLayout.addView(videoSizeSpinner,videoSizeLP);
ArrayAdapter<String> videoSizeAdapter;
videoSizeAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,videoSizeString);
videoSizeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
videoSizeSpinner.setAdapter(videoSizeAdapter);
videoSizeSpinner.setVisibility(View.VISIBLE);
int iSelectVideoSize = 0;
for(int i=0; i<videoWidthValue.length; i++)
{
if(videoWidthValue[i] == configEntity.resolution_width)
{
iSelectVideoSize = i;
break;
}
}
videoSizeSpinner.setSelection(i
没有合适的资源?快使用搜索试试~ 我知道了~
源码 跨平台的音视频解决方案.rar
共53个文件
java:19个
so:14个
png:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 158 浏览量
2023-03-25
08:12:44
上传
评论
收藏 2.42MB RAR 举报
温馨提示
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
源码 跨平台的音视频解决方案.rar (53个子文件)
AnyChatDemo
.classpath 280B
.settings
org.eclipse.ltk.core.refactoring.prefs 137B
assets
src
com
bairuitech
demo
LoginActivity.java 11KB
ConfigService.java 3KB
VideoActivity.java 13KB
VideoCallActivity.java 7KB
RoomActivity.java 9KB
ScreenInfo.java 117B
VideoConfigActivity.java 17KB
LiveVideoActivity.java 12KB
MessageListView.java 2KB
HallActivity.java 12KB
ConfigActivity.java 5KB
ConfigEntity.java 1KB
anychat
AnyChatCoreSDK.java 14KB
AnyChatTransDataEvent.java 608B
AnyChatPrivateChatEvent.java 580B
AnyChatTextMsgEvent.java 329B
AnyChatBaseEvent.java 1KB
AnyChatDefine.java 10KB
AnyChatStateChgEvent.java 1KB
libs
armeabi
libmediashow_2.2.so 26KB
libmediautil_v6.so 1.72MB
libmediacore_4.0.so 64KB
libmediashow_4.0.so 35KB
libmediacore_2.3.so 64KB
libmediautil_v7.so 1.85MB
libmediahwcodec_2.3.so 38KB
libmediashow_2.1.so 16KB
libmediahwcodec_4.0.so 39KB
libanychatcore.so 373KB
libmediacore_2.1.so 63KB
libmediashow_2.3.so 26KB
libmediahwcodec_2.2.so 36KB
libmediacore_2.2.so 63KB
res
drawable-mdpi
icon.png 3KB
drawable-ldpi
videophonebk.jpg 56KB
logo.gif 7KB
chat_bk.gif 38KB
hall_bk.jpg 42KB
login_bk.jpg 46KB
switchvideo.png 5KB
room.png 11KB
config.png 16KB
camera.png 17KB
icon.png 2KB
values
strings.xml 171B
layout
drawable
btn_switchvideo_background.xml 208B
background.xml 570B
drawable-hdpi
icon.png 4KB
default.properties 364B
.project 843B
AndroidManifest.xml 3KB
共 53 条
- 1
资源评论
荣华富贵8
- 粉丝: 150
- 资源: 7649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功