Android 全局背景音乐

来源:互联网 发布:淘宝进口食品货源 编辑:程序博客网 时间:2024/06/06 20:17

先写一个设置界面xml文件

《?xml version=”1.0” encoding=”utf-8”?》
《PreferenceScreen xmlns:android=”http://schemas.android.com/apk/res/android”》
//这个是xml中给它设置的key 必须要一致
《SwitchPreference
android:title=”背景音乐”
android:summaryOff=”已关闭”
android:summaryOn=”已开启”
android:key=”music”
android:icon=”@drawable/sound”
android:defaultValue=”true” >

然后给xml配置Java文件(要展示就必须有Java文件)
因为是设置界面 所以需要继承 PreferenceActivity

package com.example.android_studio_first_module;
import android.content.Context;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
import android.support.annotation.Nullable;
import android.widget.Toast;
/* Created by Administrator on 2017/6/27 0027. */
public class jinting_Sound extends PreferenceActivity{
//这个是xml中给它设置的key 必须要一致
private static final String MUSIC = “music”;
private static final boolean MUSIC_DEF = true;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState);
//重点 addPreferencesFromResource(R.xml.setting);
}
//获得当前音乐的值 public static boolean getMusic(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MUSIC, MUSIC_DEF); }}

//我们自定义一个Java文件
//继承用来播放音乐的类
package com.example.android_studio_first_module;
import android.content.Context;
import android.media.MediaPlayer;
public class Music {

private static MediaPlayer mp = null; //停止旧歌曲,开始新歌曲

public static void play(Context context, int resource) {
stop(context);
if(jinting_Sound.getMusic(context)) {
mp = MediaPlayer.create(context, resource);
mp.setLooping(true);
mp.start(); } }

//停止音乐
public static void stop(Context context) {
if(mp!=null) {
mp.stop();
mp.release();
mp = null; } }}

//最后在主界面中调用就可以了
//生命周期
//这个要写一个raw文件 里面是音乐
//必须为MP3格式的 音乐名字必须为英文
@Override
protected void onResume() {
super.onResume();
Music.play(this,R.raw.abc); }

@Override
protected void onDestroy() {
super.onDestroy();
Music.stop(this);
}

原创粉丝点击