我已经编写了我能想到的最基本的应用程序来尝试播放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,尽管没有声音,但在模拟器中运行良好。
答案 0 :(得分:38)
问题是媒体音量设置为0(不是铃声音量)。您可以通过以下方式进行设置:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
请查看developer page和another 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();
我不确定那里有什么不同,但它解决了我的问题。