Android 播放器中容易用到的进度条(音量控制,播放进度)
来源:互联网 发布:djongo 数据库查询 编辑:程序博客网 时间:2024/06/06 07:11
播放器中的的两个常用的进度条,1,显示当前播播放器中的的两个常用的进度条,1,显示当前播放进度2,显示当前音量package rw.test;import java.io.IOException;import android.app.Activity;import android.media.AudioManager;import android.media.MediaPlayer;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.SeekBar;import android.widget.SeekBar.OnSeekBarChangeListener;import android.widget.TextView;public class TestMusicActivity extends Activity { /** Called when the activity is first created. */ private SeekBar SoundseekBar,ProceseekBar2; private Button button; private MediaPlayer mediaPlayer; private TextView nowPlayTime,allTime,volumeView,maxVolumeTextView; private AudioManager audioManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ProceseekBar2=(SeekBar)findViewById(R.id.seekBar1); SoundseekBar=(SeekBar)findViewById(R.id.seekBar2); button=(Button)findViewById(R.id.button1); nowPlayTime=(TextView)findViewById(R.id.textView1); allTime=(TextView)findViewById(R.id.textView2); volumeView=(TextView)findViewById(R.id.textView3); maxVolumeTextView=(TextView)findViewById(R.id.textView4); button.setOnClickListener(new ButtonListener()); mediaPlayer=new MediaPlayer(); audioManager=(AudioManager)getSystemService(AUDIO_SERVICE);//获取音量服务 int MaxSound=audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);//获取系统音量最大值 maxVolumeTextView.setText(String.valueOf(MaxSound)); SoundseekBar.setMax(MaxSound);//音量控制Bar的最大值设置为系统音量最大值 int currentSount=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);//获取当前音量 SoundseekBar.setProgress(currentSount);//音量控制Bar的当前值设置为系统音量当前值 SoundseekBar.setOnSeekBarChangeListener(new SeekBarListener()); ProceseekBar2.setOnSeekBarChangeListener(new ProcessBarListener()); } class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub if (mediaPlayer.isPlaying()) { mediaPlayer.pause(); } else { try { mediaPlayer.reset(); mediaPlayer.setDataSource("/sdcard/test.mp3"); mediaPlayer.prepare(); mediaPlayer.start(); StrartbarUpdate(); int Alltime= mediaPlayer.getDuration(); allTime.setText(ShowTime(Alltime)); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }//播放进度条 class ProcessBarListener implements OnSeekBarChangeListener{ @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub if (fromUser==true) { mediaPlayer.seekTo(progress); nowPlayTime.setText(ShowTime(progress)); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } }//音量进度条 class SeekBarListener implements OnSeekBarChangeListener{ @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub if (fromUser) { int SeekPosition=seekBar.getProgress(); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, SeekPosition, 0); } volumeView.setText(String.valueOf(progress)); } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } } //时间显示函数,我们获得音乐信息的是以毫秒为单位的,把把转换成我们熟悉的00:00格式 public String ShowTime(int time){ time/=1000; int minute=time/60; int hour=minute/60; int second=time%60; minute%=60; return String.format("%02d:%02d", minute, second); } Handler handler=new Handler(); public void StrartbarUpdate(){ handler.post(r); } Runnable r=new Runnable() { @Override public void run() { // TODO Auto-generated method stub int CurrentPosition=mediaPlayer.getCurrentPosition(); nowPlayTime.setText(ShowTime(CurrentPosition)); int mMax=mediaPlayer.getDuration(); ProceseekBar2.setMax(mMax); ProceseekBar2.setProgress(CurrentPosition); handler.postDelayed(r, 100); } }; }//把一个名字为test.mp3的文件上传到系统中去,你们懂的.....
00:37 当前播放时间
04:16音乐总时间
11 当前音量
15 总音量
//如有疑问,本人QQ:812200157
- Android 播放器中容易用到的进度条(音量控制,播放进度)
- Android 播放器中容易用到的进度条[音量控制,播放进度]
- Android 播放器中容易用到的进度条[音量控制,播放进度]
- 【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等
- android播放器音量控制-使用震动示例代码-进度条控制音量
- android-----音乐播放器的音量控制功能(开发)
- Android 超简单音乐播放器(七)拖动歌曲进度条~音量控制~
- 视频播放器手势操作控制进度、音量、亮度
- GL音乐播放器--代码实现<四>--进度控制和可隐藏的音量控制
- 【基于QMediaPlayer的简易视频播放器】— 3、结合QSlider实现播放进度控制和音量控制
- Android音乐播放器SeekBar控制音量变化的实现
- android控制soundpool播放音量
- 音乐播放器之(音量控制的实现)
- iOS中AVPlayer的在线播放和播放进度条,音量条以及AVPlayer的后台播放
- iOS中AVPlayer的在线播放和播放进度条,音量条以及AVPlayer的后台播放
- android 视频播放控制 进度条
- Android音乐编程:控制应用程序的音量和播放
- Android音乐编程:控制应用程序的音量和播放
- 命令行下啟動Oracle監聽和主服務
- inode占满处理
- MODEL2
- delphi 关键字详解
- 浅谈索引分区
- Android 播放器中容易用到的进度条(音量控制,播放进度)
- 将两台不能上网的电脑互联,建立远程桌面
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用1
- 1677 水仙花数
- 开始我的新生活
- 1678 GG's Single Day
- 豆瓣连接:使用豆瓣登陆 WordPress 博客
- eclipse加入tomcat插件
- 1679 取石子游戏