Android背景音乐的实现
本次试验要求实现一个背景音乐的功能,可以在UI上控制播放。
Local Service 用于应用程序内部。在Service可以调用Context.startService()启动,调用Context.stopService()结束。在内部可以调用Service.stopSelf() 或 Service.stopSelfResult()来自己停止。无论调用了多少次startService(),都只需调用一次stopService()来停止。

UI
主要代码实现
package cn.org.bzu;
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MyActivity extends Activity { private Button btnPlay; private Button btnPause; private Button btnStop; private boolean pauseFlag=false; MediaPlayer mp=new MediaPlayer(); AudioManager am; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findId();am=(AudioManager)this.getSystemService(this.AUDIO_SERVICE); btnPlay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try{ mp.setDataSource("/sdcard/dl.mid"); //加载音频 }catch(Exception e){e.printStackTrace();} try{ mp.prepare(); }catch(Exception e){e.printStackTrace();} mp.start(); //播放音乐 Toast.makeText(MyActivity.this, "播放音乐", Toast.LENGTH_SHORT).show(); }}); btnPause.setOnClickListener(new View.OnClickListener() { //暂停按钮添加监听器 public void onClick(View v) { if(mp.isPlaying()){ mp.pause(); pauseFlag=true; }else if(pauseFlag){ mp.start(); pauseFlag=false; Toast.makeText(MyActivity.this, "暂停播放", Toast.LENGTH_SHORT).show(); }} }); //停止按钮添加监听器 public void onClick(View v) { mp.stop(); mp.reset(); try{ mp.setDataSource("/sdcard/dl.mid"); //加载音频,}catch(Exception e){e.printStackTrace();} try{ mp.prepare(); //进入prepared状态。 }catch(Exception e){e.printStackTrace();} Toast.makeText(MyActivity.this, "停止播放", Toast.LENGTH_SHORT).show(); }}); } public void findId(){btnPlay=(Button)findViewById(R.id.btnPlay); btnPause=(Button)findViewById(R.id.btnPause); btnStop=(Button)findViewById(R.id.btnStop); }
}
运行效果如下:
本次试验到此结束,谢谢。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=d017xtyerbt4
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
