• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 手机影音7--视频播放器的基本功能(4),7--基本功能

手机影音7--视频播放器的基本功能(4),7--基本功能

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了影音先锋视频播放器,暴风影音视频播放器,影音视频播放器,qq影音视频播放器,吉吉影音视频播放器等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

手机影音7--视频播放器的基本功能(4),7--基本功能


1.用AudioManager调声音

1_得到当前音量和最大音量

//关于设置音量
private int currentVolume;//当前音量值
private int currentMaxVolume;//当前最大音量
private AudioManager am;

am = (AudioManager) getSystemService(AUDIO_SERVICE);     
currentVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);
currentMaxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

2_拖动的时候改变音量

voice_seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
       
       @Override
       public void onStopTrackingTouch(SeekBar seekBar) {
          sendDelayedHideControlPlayerMessage();
       }
       
       @Override
       public void onStartTrackingTouch(SeekBar seekBar) {
          removeDelayedHideControlPlayerMessage();
       }
       
       @Override
       public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {
          if(fromUser){
            updateVolume(progress);
          }
       }
});


/**
 * 修改音量范围0~15
 * @param progress2
*/
protected void updateVolume(int volume) {
    am.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
    voice_seekBar.setProgress(volume);   
    currentVolume = volume;
}

3_静音和非静音

case R.id.btn_voice:
	isMute = !isMute;
	updateVolume(currentVolume);
break;


/**
 * 修改音量范围0~15
 * @param progress2
*/
protected void updateVolume(int volume) {
	if(isMute){
		am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
		voice_seekBar.setProgress(0);
	}else{
		am.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
		voice_seekBar.setProgress(volume);
	} 
	currentVolume = volume;
}

2.手指在屏幕上下滑动实现声音大小变化  

private  float startY;
/**
 * 滑动的区域
 */
private float touchRang;
/**
 * 当前的音量
 */
private  int mVol;

@Override
public boolean onTouchEvent(MotionEvent event) {
	switch (event.getAction()){
		case MotionEvent.ACTION_DOWN://手指按下屏幕
			//1.记录相关的值
			startY = event.getY();
			touchRang =Math.min(screenWidth, screenHeight);//screenHeight
			mVol = am.getStreamVolume(AudioManager.STREAM_MUSIC);
			handler.removeMessages(HIDE_MEDIACONTROL);
			break;
		case MotionEvent.ACTION_MOVE://手指在屏幕上移动
			//2.来到结束的坐标
			float endY = event.getY();
			//3.计算偏移量
			float distanceY = startY - endY;
			//要改变的声音 = (滑动的距离 / 总距离)*最大音量
			float delta = (distanceY/touchRang)*maxVolume;
			//最终声音 = 原来的声音 + 要改变的声音
			float volum  e = Math.min(Math.max(mVol+delta,0),maxVolume);
			if(delta != 0){
				updatavolumeProgress((int) volume);
			}
			// startY = event.getY();
			break;
		case MotionEvent.ACTION_UP://手指离开屏幕
			handler.sendEmptyMessageDelayed(HIDE_MEDIACONTROL,5000);
			break;
	}
	return super.onTouchEvent(event);
}

3.监听按手机声音健改变声音大小  

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
        currentVolume--;
        updatavolumeProgress(currentVolume);
        handler.removeMessages(HIDE_MEDIACONTROL);
        handler.sendEmptyMessageDelayed(HIDE_MEDIACONTROL, 5000);
        return true;
    }else if(keyCode ==KeyEvent.KEYCODE_VOLUME_UP){
        currentVolume++;
        updatavolumeProgress(currentVolume);
        handler.removeMessages(HIDE_MEDIACONTROL);
        handler.sendEmptyMessageDelayed(HIDE_MEDIACONTROL, 5000);
        return true;
    }

    return super.onKeyDown(keyCode, event);
}
 

  

  

  

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 手机影音8--视频播放器的高级功能(1),8--高级功能
  • 手机影音9--视频播放器的高级功能(2),9--高级功能
  • 手机影音7--视频播放器的基本功能(4),7--基本功能
  • 手机影音5--视频播放器的基本功能(2),5--基本功能
  • 手机影音6--视频播放器的基本功能(3),6--基本功能

相关文章

  • 2017-05-26Android中button点击后字体的变色效果,androidbutton
  • 2017-05-26【React Native开发】React Native控件之ViewPagerAndroid讲解以及美团首页顶部效果实例(17)
  • 2017-05-26Android属性系统简介,android属性简介
  • 2017-05-26【同行说技术】Android程序员从小白到大神必读资料汇总(四),android资料汇总
  • 2017-05-222.5.7 Toast(吐司)的基本使用
  • 2017-05-26集成websocket即时通讯 java聊天源码 代码下载 java后台框架源码 websocket源码 IM,websocket即时通讯
  • 2017-05-26硅谷新闻1--引导界面GuideActivity,1--guideactivity
  • 2017-05-26Android中使用开源框架PagerSlidingTabStrip实现导航标题,android开源框架
  • 2017-05-26手势事件,html5手势事件
  • 2017-05-26安卓应用反编译(二)-APK包反编译浅析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • linux设备驱动程序之时钟管理(4)----原来是孩儿他爹娘
    • Android Butterknife 8.4.0 使用方法总结,butterknife8.4.0
    • 自动化运维之cobbler批量部署操作系统(一)
    • 安卓开源项目周报0411,安卓开源项目0411
    • 手机安全卫士——通讯卫士-黑名单的管理,安全卫士卫士
    • Android热补丁动态修复技术(三)—— 使用Javassist注入字节码,完成热补丁框架雏形(可使用)
    • linux syslog日志服务器的搭建
    • Android学习笔记-开关按钮ToggleButton和开关Switch,togglebuttonswitch
    • Android中TextView、EditText对部分内容设置不同格式(颜色、字体、超链接、图片。。)
    • 利用SQL实现简单的分布式锁

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有