MediaPlayer.create()总是返回null。

4

我之前使用过MediaPlayer,并且从未遇到过这个问题。每当我尝试使用MediaPlayer.create()时,该方法会返回null,导致我无法播放声音。我是否遗漏了什么?

public class Game extends Activity
{
    private MediaPlayer mp = null;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game);

        mp = MediaPlayer.create(getBaseContext(), R.raw.sound);
    }
}

我的sound.mp3文件在raw文件夹中,我是通过将它拖到eclipse中的文件夹中放置的。请帮忙解决,因为我之前已经成功播放过声音了,这真的很困扰我:(


你能试试其他的音频文件吗?我觉得这个可能已经损坏了。 - Reno
1
那确实是问题所在!非常感谢。回答并且我会给你信用。 - Keerigan
2个回答

7
create() API 如果出现问题会返回 null。
这种情况下的原因是 mp3 文件损坏。

1
在我的情况下,是模拟器(AVD)的问题。请确保您还使用真实的Android设备进行测试,或创建一个具有更好规格和更新Android版本的新AVD配置文件。无论使用哪个AVD,似乎总是有效的是使用128kbps mp3音频文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接