开发者

android MediaPlayer not playing mp3 file

I have written the most basic application I can think of to try to play an mp3 file, but it is not working. I don't get any errors, but when the application starts up, the sound is not played.

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();
    }
}

What am I missing? I have "norm_iphone_money.mp3" inside the res/raw folder. The file plays fine in Windows Media Player and iTunes.

I'm using the latest versions of Java SDK and Eclipse for Java. The app is targeted for Andro开发者_开发问答id 2.2 and runs fine in the emulator despite no sound.


The problem is that the media volume is set to 0 (not the ringer volume). You can set it by:

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

Have a look at the developer page and another question for the explanation of parameters for setStreamVolume(int, int, int).


Try replacing these two lines:

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

with this one line:

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

And see if that works.


The problem is with emulator, change the emulator or try to run the application on a real device. This should solve the problem.


The static method create(Context, int) from the type MediaPlayer should be accessed in a static way. Try this:

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

It will play the .mp3 with this line too

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


I would suggest this :

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


Had the same problem after i clicked to start the Media Player, the screen went black and the app stopped.

i just changed

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

to

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

I am not really sure what is the difference there, but it solved my problem.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜