Android:如何在Android中附加服务?

时间:2016-08-22 06:53:53

标签: android android-studio service

  

我正在开发一个简单的Android应用程序,通过提供路径从设备存储中播放.mp3文件。我需要播放那个mp3文件   来自背景并按歌曲标题显示通知......

如何使用服务并通过显示歌曲标题在bakground播放音乐..

我使用的代码是......

Mainactivity.java

public class MainActivity extends Activity {
    Button start,pause,stop;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        start=(Button)findViewById(R.id.button1);
        pause=(Button)findViewById(R.id.button2);
        stop=(Button)findViewById(R.id.button3);
        //creating media player
        final MediaPlayer mp=new MediaPlayer();
        try{
            //you can change the path, here path is external directory(e.g. sdcard) /Music/maine.mp3
            mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Jithin's/downloadedfile.mp3");

            mp.prepare();
        }catch(Exception e){e.printStackTrace();}

        start.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.start();
            }
        });
        pause.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.pause();
            }
        });
        stop.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.stop();
            }
        });
    }
}

任何人都可以帮我找到代码..谢谢你....

4 个答案:

答案 0 :(得分:0)

您可以查看this来了解相关信息。

答案 1 :(得分:0)

尝试查看thisthis

确保在清单文件中注册服务

答案 2 :(得分:0)

您是否创建了在后台运行活动的服务?

也许这可以帮到你:

How to keep activity running in background?

答案 3 :(得分:0)

试试这个

   try {
                mp = new MediaPlayer();

               mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Jithin's/downloadedfile.mp3");
                mp.setLooping(false); // Set looping
                mp.setVolume(100,100);
                mp.prepare();
                mp.start();
            } catch (IOException e) {
                e.printStackTrace();
            }





@Override
protected void onResume() {

        try {

                mp.prepare();
                mp.start();

        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
    super.onResume();
}


@Override
protected void onDestroy() {
    super.onDestroy();

            mp.stop();

    }
}

注意:你确定Path存在...所以当你开始音乐或停止检查路径存在而不是播放