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.
精彩评论