我变得紧张......有人可以告诉我,为什么以下代码不想工作?
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
答案 0 :(得分:0)
解决方案:它需要像这样编写:MediaPlayer p = Mediaplayer.create(this, filename
)因为p.create
将调用静态方法,并且它将返回MediaPlayer
的新实例,这是永远的存储。然后,我在默认构造的实例上调用了start()
,这就是它无法正常工作的原因。