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

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);
}

  

  

  

时间: 2024-10-25 04:04:54

手机影音7--视频播放器的基本功能(4)的相关文章

手机影音8--视频播放器的高级功能(1)

1.让其他软件能调起自己写的播放器 1.在功能清单文件添加下面的意图 <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.catego

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

1.MediaPlayer和VideoView介绍 Android 系统中提供开发者开发多媒体应用(音视频方面) 一,MediaPlayer, 解码的是底层,MediaPlayer负责和底层打交道,封装了很多方法 start,pause,stop ,播放视频的类 这个MediaPlayer可以播放本地 和网络 的音视频 播放网络资源的时候,要联网权限 1,执行流程 2.视频支持的格式 mp4,3gp,.m3u8 直接用pc的.mp4文件 二,VideoView 显示视频,继承SurfaceVie

jqm视频播放器,html5视频播放器,html5音乐播放器,html5播放器,video开发demo,html5视频播放示例,html5手机视频播放器

最近在论坛中看到了很多实用html5开发视频播放,音乐播放的功能,大部分都在寻找答案.因此我就在这里做一个demo,供大家相互学习.html5开发越来越流行了,而对于视频这一块也是必不可少的一部分.如何让你的网站占据优势,就要看你的功能和用户体验了.html5对video还是做了很多优惠的东西,我们使用起来很得心应手. 在过去 flash 是网页上最好的解决视频的方法,截至到目前还算是主流,像那些优酷之类的视频网站.虾米那样的在线音乐网站,仍然使用 flash 来提供播放服务.但是这种状况将会随

自定义视频播放器(功能包括:播放/暂停,全屏,跳播)

最终效果: 1.demo结构 fontawesome字体下载:http://fontawesome.dashgame.com/ loading.gif:百度loading.gif选择一张下载 2.index.html 功能包括:播放/暂停,全屏,跳播 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>自定义视频播放器</title> <li

黑马2018年最新kotlin项目实战视频 (手机影音、即时通讯、黑马外卖、坦克大战等)

├─1.kotlin简介和学习方法│ 01_kotlin课程简介_01.mp4│ 02_kotlin学习方法_01.mp4│ 03_kotlin选好教练车_01.mp4│ 03_kotlin选好教练车_02.mp4│ 04_kotlin你好世界_01.mp4│ 05_kotlin变量与输出_01.mp4│ 05_kotlin变量与输出_02.mp4│ ├─10.类,对象和接口(三)│ 38_kotlin面向对象-抽象类和接口_01.mp4│ 38_kotlin面向对象-抽象类和接口_02.mp4

Android本地文件点击视频播放器vitamio版

本博客用Android studio集成了vitamio的自定义视频播放器,同时可以在文件管理中选择播放,想要一个自己的视频播放器这边便可以满足 实现具体功能如下: 1.sd卡内存视频文件的点击播放; 2.视频时间进度条; 3.屏幕亮度的手势滑动; 4.视频音量的手势滑动; 5.多点手势效果 6.自定义存储视频url播放 想要的重要的代码,我懂得: ------------------------------软件工程结构图: 最重要的是依赖上vitamio库: -----------------

C语言基于GTK+Libvlc实现的简易视频播放器

小编心语:现下,各种视频播放软件层出不穷,竞争也越演越烈,不知道大家有木有这个想法,小编有时在想能不能做一款属于自己的视频播放器呢~小编特意去实验楼,整理出了这篇关于如何实现简易视频播放器的博文.简易播放器,你值得拥有~ 友情提示:这里只是前篇,只是一些简单的功能,其他功能将会在后篇为大家介绍-- C语言基于GTK+Libvlc实现的简易视频播放器 一.课程说明 如果你学习过之前上线的pygtk实现有道词典的项目课,那应该对gtk的使用有一些了解了,这个项目课学起来会相对轻松一些. 关于Gtk或

制作VR视频播放器

最近VR火的不要不要的,但是综合起来,VR资源最多的还是全景图片和全景视频,今天在这里给大家简单介绍一下如何用Unity制作简单的VR视频播放器. 首先找到EasyMovieTexture这个插件,AssetStore地址:https://www.assetstore.unity3d.com/en/#!/content/10032 导入之后可以看到工程目录里有以下场景 这次我们使用到的是Demo_Sphere 打开之后可以看到场景中只有一个MainCamera和一个Sphere,这个Spere就

视频播放器——开源免费三大代表

视频播放器——开源免费三大代表 视频播放工具,因为要面临庞大的兼容性和纷繁复杂的算法,从架构上看,能脱颖而出的体系屈指可数.大体来说业界主要有3大构架:MPC.MPlayer和 VLC.这3大架构及其衍生品占领了90%的市场,凡是用户能看到的免费媒体播放软件,无一不是源自这3大架构.    MPC/HC(Windows)    MPC(Media Player Classic)和它的后续者MPC-HC应该并列而说.MPC基于DirectShow架构,是Windows系统下元祖级别的播放器.包括K

安卓TV开发(四) 实现主流智能TV视频播放器UI

前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作TV上有很大的区别,本系列博文主要用TV播放器的实现去了解下在智能设备上的开发一个app的流程,实现遥控器控制焦点移动,方向键模拟鼠标,并在线完成视频直播,手机当遥控器使用等相关功能. 上一篇中 安卓TV开发(三) 实现主流TV视频播放器UI 初步学习了智能电视上UI的设计,且只实现了一个遥控器可控制的view父框架,但是里面的i