package com.luxg.course.video;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import com.luxg.course.R;
import com.luxg.course.util.DensityUtil;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class VideoViewDemoActivity extends Activity implements OnClickListener {
// 自定义VideoView
private FullScreenVideoView mVideo;
// 头部View
private View mTopView;
// 底部View
private View mBottomView;
// 视频播放拖动条
private SeekBar mSeekBar;
private ImageView mPlay;
private TextView mPlayTime;
private TextView mDurationTime;
// 音频管理器
private AudioManager mAudioManager;
// 屏幕宽高
private float width;
private float height;
// 视频播放时间
private int playTime;
private String videoUrl = "http://www.ydtsystem.com/CardImage/21/video/20140305/20140305124807_37734.mp4";
// 自动隐藏顶部和底部View的时间
private static final int HIDE_TIME = 5000;
// 声音调节Toast
private VolumnController volumnController;
// 原始屏幕亮度
private int orginalLight;
private String VIDEO_NAME;
private String VIDEO_URL;
private String TYPE;
private LinearLayout progressbar;
private ImageView mVoiceImg;
private VerticalSeekBar mVerticalSeekbar;
private TextView mNameView;
private MyVolumeReceiver mVolumeReceiver;
private boolean isPlaying;
private ConnectionChangeReceiver myReceiver;
private int mCurrentPosition;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏
setContentView(R.layout.videoview_demo);
VIDEO_URL = getIntent().getStringExtra("VIDEO_URL");
VIDEO_NAME = getIntent().getStringExtra("VIDEO_NAME");
// VIDEO_URL = "http://live.habctv.com/xwzh/playlist.m3u8?_upt=de9adf9e1456974870";
TYPE = getIntent().getStringExtra("TYPE");
videoUrl = VIDEO_URL;
volumnController = new VolumnController(this);
mVideo = (FullScreenVideoView) findViewById(R.id.videoview);
progressbar = (LinearLayout) findViewById(R.id.progressbar);
mPlayTime = (TextView) findViewById(R.id.play_time);
mDurationTime = (TextView) findViewById(R.id.total_time);
mPlay = (ImageView) findViewById(R.id.play_btn);
mSeekBar = (SeekBar) findViewById(R.id.seekbar);
mTopView = findViewById(R.id.top_layout);
mBottomView = findViewById(R.id.bottom_layout);
mNameView = (TextView) findViewById(R.id.name_text);
findViewById(R.id.back_btn).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
mVoiceImg = (ImageView) findViewById(R.id.voice);
mVerticalSeekbar = (VerticalSeekBar) findViewById(R.id.vertical_Seekbar);
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //获取系统最大音量
mVerticalSeekbar.setMax(maxVolume); //拖动条最高值与系统最大声匹配
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); //获取当前值
mVerticalSeekbar.setProgress(currentVolume);
mVerticalSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
mHandler.removeCallbacks(hideRunnable);
mHandler.postDelayed(hideRunnable, HIDE_TIME);
// int currentVolume = mAudioManage.getStreamVolume(AudioManager.STREAM_MUSIC); //获取当前值
// mVerticalSeekbar.setProgress(currentVolume);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
mVoiceImg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mVerticalSeekbar.setVisibility(mVerticalSeekbar.getVisibility() == View.VISIBLE ? View.INVISIBLE : View.VISIBLE);
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); //获取当前值
mVerticalSeekbar.setProgress(currentVolume);
mVerticalSeekbar.setSecondaryProgress(currentVolume);
}
});
width = DensityUtil.getWidthInPx(this);
height = DensityUtil.getHeightInPx(this);
threshold = DensityUtil.dip2px(this, 18);
orginalLight = LightnessController.getLightness(this);
mPlay.setOnClickListener(this);
mSeekBar.setOnSeekBarChangeListener(mSeekBarChangeListener);
playVideo();
myRegisterReceiver();
if ("live".equals(TYPE)) {
findViewById(R.id.seekbar).setEnabled(false);
}
if (!TextUtils.isEmpty(VIDEO_NAME)) {
mNameView.setText(VIDEO_NAME);
}
registerConnectionReceiver();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
height = DensityUtil.getWidthInPx(this);
width = DensityUtil.getHeightInPx(this);
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
width = DensityUtil.getWidthInPx(this);
height = DensityUtil.getHeightInPx(this);
}
super.onConfigurationChanged(newConfig);
}
@Override
protected void onPause() {
super.onPause();
LightnessController.setLightness(this, orginalLight);
if (mVideo.isPlaying()) {
mVideo.pause();
mPlay.setImageResource(R.drawable.video_play_btn);
mCurrentPosition = mVideo.getCurrentPosition();
}
}
@Override
protected void onResume() {
super.onResume();
if (!mVideo.isPlaying()) {
mVideo.start();
mPlay.setImageResource(R.drawable.video_pause_btn);
mVideo.seekTo(mCurrentPosition);
}
}
private OnSeekBarChangeListener mSeekBarChangeListener = new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouc
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计-选课系统-android端.zip
共1042个文件
png:485个
xml:443个
java:71个
需积分: 5 0 下载量 96 浏览量
2023-09-30
15:12:32
上传
评论
收藏 7.16MB ZIP 举报
温馨提示
毕业设计-选课系统-android端.zip
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-选课系统-android端.zip (1042个子文件)
gradlew.bat 2KB
.gitignore 97B
.gitignore 7B
build.gradle 766B
build.gradle 753B
build.gradle 502B
settings.gradle 58B
gradlew 5KB
com.umeng.message.lib_v2.2.0.jar 1.06MB
umeng_community_sdk_ui_discuss.jar 873KB
umeng_community_sdk_ui_weibo.jar 674KB
umeng_social_sdk.jar 375KB
umeng_community_sdk_core.jar 315KB
org.apache.http.legacy.jar 296KB
xUtils-2.6.14.jar 277KB
SocialSDK_QQZone_2.jar 230KB
gson-2.6.1.jar 225KB
android-support-v7-recyclerview.jar 190KB
Android_Location_V1.3.2.jar 184KB
universal-image-loader-1.9.4.jar 157KB
SocialSDK_WeiXin_1.jar 146KB
umeng_community_sdk_ui_main.jar 87KB
SocialSDK_QQZone_1.jar 75KB
activeandroid.jar 62KB
umeng_community_sdk_db.jar 60KB
gradle-wrapper.jar 49KB
SocialSDK_QQZone_3.jar 49KB
SocialSDK_WeiXin_2.jar 29KB
httpmime-4.1.3.jar 26KB
umeng_community_sdk_login.jar 14KB
umeng_community_share.jar 13KB
SocialSDK_Sina.jar 10KB
umeng_community_push.jar 5KB
umeng_community_location.jar 3KB
VideoViewDemoActivity.java 24KB
MController.java 20KB
PersonalDetailActivity.java 18KB
WeekCourseFragment.java 18KB
CourseCommentActivity.java 14KB
PullToRefreshBaseView.java 11KB
MainActivity.java 9KB
PersonalSecurityActivity.java 8KB
PreferenceUtil.java 8KB
MyCourseDetailActivity.java 8KB
LoginActivity.java 8KB
CourseDetailActivity.java 8KB
DataCleanManager.java 8KB
PersonalMainActivity.java 8KB
BezelImageView.java 7KB
PersonalSettingActivity.java 7KB
MyCourseActivity.java 7KB
DialogHelper.java 7KB
SignUpCourseActivity.java 7KB
ViewContainer.java 7KB
CommonTitle.java 6KB
FullScreenVideoView.java 6KB
BaseAdWebActivity.java 5KB
SyllabusDatabase.java 5KB
VDVideoSoundSeekBar.java 5KB
MyCourseCommentActivity.java 5KB
PullToRefreshHeaderView.java 5KB
BaseWiseActivity.java 5KB
TimeTableDetailEditActivity.java 4KB
PullToRefreshAdapterViewBase.java 4KB
NetWorkUtil.java 4KB
TimeTableActivity.java 4KB
MyImageView.java 4KB
VideoControllerDemo.java 4KB
SignUpCourseAdapter.java 4KB
ActivityTaskManager.java 4KB
TimeTableDetailActivity.java 4KB
DensityUtil.java 3KB
Constant.java 3KB
VolumnView.java 3KB
CommentSectionAdapter.java 3KB
MyCommentAdapter.java 3KB
CourseInfo.java 3KB
MyApplication.java 3KB
NetworkUtils.java 3KB
NewToast.java 3KB
VerticalSeekBar.java 2KB
StudentInfo.java 2KB
VDVerticalSeekBar.java 2KB
TeacherInfo.java 2KB
LightnessController.java 2KB
DbHelper.java 2KB
PersonalAboutActivity.java 2KB
SyllabusDayInfo.java 2KB
CommentInfo.java 2KB
PullToRefreshListView.java 1KB
TablePagerAdapter.java 1KB
BaseUtil.java 1KB
PullToRefreshGridView.java 1KB
SplashActivity.java 1KB
TeachingInfo.java 1KB
ElectiveInfo.java 952B
ImageUtil.java 910B
VolumnController.java 754B
StudentImageInfo.java 627B
EmptyViewMethodAccessor.java 520B
共 1042 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
天天501
- 粉丝: 606
- 资源: 4665
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功