android 背景音乐源码,android基础---背景音乐实现

1.背景音乐在menu中设置:

menu.xml

xmlns:tools="http://schemas.android.com/tools"

tools:context="com.echo.sb.MainActivity" >

android:id="@+id/action_settings"

android:title="设置音乐开关"/>

2.使用到sharedPreference:在res中的xml目录下

preference.xml

android:key="music"

android:title="播放背景音乐"

android:summary="play or stop"

android:defaultValue="true"

/>

3.存放音乐在指定的文件夹下:res中的raw目录下

4.需要一个音乐播放的实体类,控制音乐的播放:

Music.java

public class Music {

private static  MediaPlayer m;

public static void play(Context context,int resource){

stop(context);

if(Preference.getmusic(context)){

m=MediaPlayer.create(context, resource);

m.setLooping(true);

m.start();

}

}

public static void stop(Context context){

if(m!=null&&m.isPlaying()){

m.stop();

m.release();

m=null;

}

}

}

5.对sharedPreference中的设置进行设置:

Preference.java

public class Preference extends PreferenceActivity {

private static final String OPEN_MUSIC="music";

private static final boolean DEFAULT_MUSIC=true;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

addPreferencesFromResource(R.xml.preference);

}

public static boolean getmusic(Context context){

return PreferenceManager.getDefaultSharedPreferences(context).

getBoolean(OPEN_MUSIC, DEFAULT_MUSIC);

}

}

6.最后一步,在MainActivity中实现背景音乐的播放:

MainActivity.java

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// TODO Auto-generated method stub

super.onCreateOptionsMenu(menu);

MenuInflater inflater=getMenuInflater();

inflater.inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// TODO Auto-generated method stub

super.onOptionsItemSelected(item);

switch (item.getItemId()) {

case R.id.action_settings:

Intent intent=new Intent(MainActivity.this, Preference.class);

startActivity(intent);

break;

default:

break;

}

return true;

}

@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

Music.stop(this);

}

@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

Music.play(MainActivity.this, R.raw.test);

}

}

这样一个项目的背景音乐就设置好了~~~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值