从android中的服务播放背景音乐

时间:2013-03-23 19:41:36

标签: android service background media-player

我变得紧张......有人可以告诉我,为什么以下代码不想工作?

public class MyService extends Service {

    private MediaPlayer player;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        player = MediaPlayer.create(this, R.raw.audio);
        player.setWakeMode(getApplicationContext(),
                PowerManager.PARTIAL_WAKE_LOCK);
        player.setVolume(1f, 1f);
        player.start();

//other stuff here, which run perfectly...

音频文件在那里,我有wakelock权限(没有它也不起作用......)。没有错误信息,其余代码很好,但.......播放器没有播放任何内容。 请在我的大脑中捕捉血管之前帮助我!

编辑:更多信息: 音频是.mp3格式,77kb / s

1 个答案:

答案 0 :(得分:0)

解决方案:它需要像这样编写:MediaPlayer p = Mediaplayer.create(this, filename)因为p.create将调用静态方法,并且它将返回MediaPlayer的新实例,这是永远的存储。然后,我在默认构造的实例上调用了start(),这就是它无法正常工作的原因。