android MediaPlayer没有播放mp3文件

时间:2011-02-12 01:11:45

标签: android audio mp3 media-player

我已经编写了我能想到的最基本的应用程序来尝试播放mp3文件,但它无法正常工作。我没有收到任何错误,但是当应用程序启动时,声音不会播放。

public class soundtest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MediaPlayer mp = new MediaPlayer();
        mp.create(getApplicationContext(), R.raw.norm_iphone_money);
        mp.start();
    }
}

我错过了什么?我在res / raw文件夹中有“norm_iphone_money.mp3”。该文件在Windows Media Player和iTunes中播放正常。

我正在使用最新版本的Java SDK和Eclipse for Java。该应用程序针对Android 2.2,尽管没有声音,但在模拟器中运行良好。

6 个答案:

答案 0 :(得分:38)

问题是媒体音量设置为0(不是铃声音量)。您可以通过以下方式进行设置:

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);

请查看developer pageanother question,了解setStreamVolume(int,int,int)的参数说明。

答案 1 :(得分:10)

尝试替换这两行:

MediaPlayer mp = new MediaPlayer();
mp.create(getApplicationContext(), R.raw.norm_iphone_money);

这一行:

MediaPlayer mp = MediaPlayer.create(this, R.raw.norm_iphone_money);

看看是否有效。

答案 2 :(得分:0)

问题出在模拟器上,请更改模拟器或尝试在真实设备上运行应用程序。这应该可以解决问题。

答案 3 :(得分:-2)

应该以静态方式访问MediaPlayer类型的静态方法create(Context,int)。试试这个:

MediaPlayer.create(getApplicationContext(), R.raw.norm_iphone_money).start();

它也会用这一行播放.mp3

mp.create(getApplicationContext(), R.raw.norm_iphone_money).start();

答案 4 :(得分:-3)

我会建议:

MediaPlayer mp = new MediaPlayer();
//bla bla bla
mp = MediaPlayer.create(getApplicationContext(), R.raw.norm_iphone_money);

答案 5 :(得分:-4)

有同样的问题 点击启动媒体播放器后,屏幕变黑,应用程序停止。

我刚刚改变了

  

MediaPlayer mp = MediaPLayer.create(this,R.raw.sound); mp.start();

  

MediaPlayer mp = MediaPLayer.create(this,R.raw.sound).start();

我不确定那里有什么不同,但它解决了我的问题。