編輯:關於Android編程
本實例通過MediaPlayer播放一首音樂並通過AudioManager控制手機音頻,關於AudioManager的詳解可參照:Android開發之AudioManager(音頻管理器)詳解
程序運行效果圖:
實例代碼:
package com.jph.audiomanagerdemo; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.app.Activity; import android.app.Service; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.ToggleButton; /** * Describe: * 控制數據音頻 * 本實例通過MediaPlayer播放一首音樂並 * 通過AudioManager控制手機音頻 * */ public class AudioManagerDemo extends Activity { Button btnPlay,btnUp,btnDown; ToggleButton btnMute; AudioManager aManager; MediaPlayer mPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnDown=(Button)findViewById(R.id.btnDown); btnPlay=(Button)findViewById(R.id.btnPlay); btnUp=(Button)findViewById(R.id.btnUp); btnMute=(ToggleButton)findViewById(R.id.btnMute); //初始化AudioManager aManager=(AudioManager) getSystemService(Service.AUDIO_SERVICE); OnClickListener listener=new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.btnPlay: //初始化MediaPlayer為播放音樂做准備 mPlayer=MediaPlayer.create( AudioManagerDemo.this, R.raw.music); //設置音樂循環播放 mPlayer.setLooping(true); //播放 mPlayer.start(); break; case R.id.btnUp: //指定調節音樂的音頻為增大,並顯示音量圖形 aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); break; case R.id.btnDown: //指定調節音樂的音頻為減小,並顯示音量圖形 aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); break; default: break; } } }; //為按鈕添加監聽器 btnDown.setOnClickListener(listener); btnPlay.setOnClickListener(listener); btnUp.setOnClickListener(listener); btnMute.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub //設置音樂靜音 aManager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked); } }); } }main.xml
先給大家展示下效果圖,如果感覺不錯,請參考實現思路詳解Android開發中關於短息驗證碼的設計層出不窮,越來越多的應用為了更好的提高軟件的安全性,開始使用通過服務器向用戶
// 表示事件是否攔截, 返回false表示不攔截 @Override public boolean onInterceptTouchEvent(Motion
正文結構型包含以下類型:適配器 Adapter Class/Object 橋接 Bridge 組合 Composite 裝飾 Decorator 外觀 Facade 享元
一、前言Android應用開發中多線程編程應用比較廣泛,而應用比較多的是ThreadPoolExecutor,AsyncTask,IntentService,Handle