Android应用:AudioManager 播放音乐

来源:互联网 发布:战地4网络不好会掉帧吗 编辑:程序博客网 时间:2024/05/23 17:36

1.关于AudioManager 

Android按照声音的功能不同,可以把它分为音乐和音效两部分 。Android播放音乐常用类MediaPlayer,声音的控制需要用到的类AudioManage。
此应用中,应该先把音频文件“dl.mid”放在手机的 sd 下面。

2.布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >        <Button        android:text="播放音乐"        android:id="@+id/buttonPlay"        android:layout_width="fill_parent"        android:layout_height="wrap_content"         />    <Button         android:text="暂停音乐"        android:id="@+id/buttonPause"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        />    <Button         android:text="停止音乐"        android:id="@+id/buttonStop"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        />    <Button         android:text="增大音乐"        android:id="@+id/buttonAdd"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        />    <Button        android:text="降低音乐"         android:id="@+id/buttonReduce"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        /></LinearLayout>

3.代码

package com.example.android_sample_3_2;import java.io.IOException;import android.media.AudioManager;import android.media.MediaPlayer;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Button bPlay;private Button bPause;private Button bStop;private Button bAdd;private Button bReduce;private boolean pauseFlag;MediaPlayer mp;AudioManager am;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bPlay = (Button) findViewById(R.id.buttonPlay);bPause = (Button) findViewById(R.id.buttonPause);bStop = (Button) findViewById(R.id.buttonStop);bAdd = (Button) findViewById(R.id.buttonAdd);bReduce = (Button) findViewById(R.id.buttonReduce);mp = new MediaPlayer();am = (AudioManager) this.getSystemService(this.AUDIO_SERVICE);bPlay.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {try {mp.setDataSource("/sdcard/dl.mid");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {mp.prepare();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}mp.start();Toast.makeText(MainActivity.this, "播放音乐", Toast.LENGTH_SHORT).show();}});bPause.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (mp.isPlaying()) {mp.pause();pauseFlag = true;}else if(pauseFlag){mp.start();pauseFlag = false;}Toast.makeText(MainActivity.this, "暂停音乐", Toast.LENGTH_SHORT).show();}});bStop.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mp.stop();mp.reset();try {mp.setDataSource("/sdcard/dl.mid");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}try {mp.prepare();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}Toast.makeText(MainActivity.this, "停止播放", Toast.LENGTH_SHORT).show();}});bAdd.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {am.adjustVolume(AudioManager.ADJUST_RAISE, 0);System.out.println("faaa");Toast.makeText(MainActivity.this, "增大音量", Toast.LENGTH_SHORT).show();}});bReduce.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {am.adjustVolume(AudioManager.ADJUST_LOWER, 0);Toast.makeText(MainActivity.this, "减小音量", Toast.LENGTH_SHORT).show();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


原创粉丝点击