//拖动SeekBar改变音量大小 public class MainActivity extends Activity implements OnClickListener { private Button start; private SeekBar seekbar; private ArrayList<String> list; private MediaPlayer media; private AudioManager audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start = (Button) findViewById(R.id.start); seekbar = (SeekBar) findViewById(R.id.seekbar); list = new ArrayList<String>(); list.add("xxxxxxxx.mp3"); media = new MediaPlayer(); start.setOnClickListener(this); // 得到控制音量的对象 audio = (AudioManager) getSystemService(AUDIO_SERVICE); // 得到最大音量 int max = audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC); // 得到当前音量 int now = audio.getStreamVolume(AudioManager.STREAM_MUSIC); // 设置进度条的最大值 seekbar.setMax(max); // 设置进度条的值为音量的当前值 seekbar.setProgress(now); // 进度条的滑动时间,滑动进度条可以设置音量 seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser) { audio.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0); } } }); } // 继承接口,实现的点击事件的方法 @Override public void onClick(View v) { switch (v.getId()) { case R.id.start:// 开始播放音乐 media.reset(); try { // 从Assets里面打开当前的音乐 AssetFileDescriptor openFd = getAssets().openFd(list.get(0)); FileDescriptor file = openFd.getFileDescriptor(); media.setDataSource(file, openFd.getStartOffset(), openFd.getLength()); media.prepare(); } catch (IOException e) { e.printStackTrace(); } media.start(); break; default: break; } } }
播放音乐,SeekBar改变音大小
最新推荐文章于 2024-01-12 14:15:21 发布