声音(MediaPlayer)在emulator上工作,但在真正的android设备上不工作

声音(MediaPlayer)在emulator上工作,但在真正的android设备上不工作,android,android-service,android-mediaplayer,android-permissions,android-developer-api,Android,Android Service,Android Mediaplayer,Android Permissions,Android Developer Api,我使用的仿真器是Galaxy Nexus API 22,我的背景音乐(mp3)可以在上面完美地工作,并作为服务运行。然而,它在我的SUMSUNG Galaxy Note上不起作用,它有API 16,但我不认为这是一个与API相关的问题 我是否需要在清单中编写一些?或其他解决方案 提前谢谢你 问题出在这里 Context-Context=getApplicationContext(); ActivityManager am=(ActivityManager)context.getSystemSer

我使用的仿真器是Galaxy Nexus API 22,我的背景音乐(mp3)可以在上面完美地工作,并作为服务运行。然而,它在我的SUMSUNG Galaxy Note上不起作用,它有API 16,但我不认为这是一个与API相关的问题

我是否需要在清单中编写一些
?或其他解决方案

提前谢谢你

问题出在这里

Context-Context=getApplicationContext();
ActivityManager am=(ActivityManager)context.getSystemService(context.ACTIVITY_服务);
List taskInfo=am.getRunningTasks(1);
如果(!taskInfo.isEmpty()){
ComponentName topActivity=taskInfo.get(0).topActivity;
如果(!topActivity.getPackageName().equals(context.getPackageName())){
SoundService.pauseSound();
Toast.makeText(WelcomePage.this,“您离开了应用程序”,Toast.LENGTH_SHORT.show();
}
否则{
Toast.makeText(WelcomePage.this,“您在应用程序中切换了活动”,Toast.LENGTH\u SHORT.show();
}
}
我在
WelcomePage
活动中的
onPause()
中使用了这些代码(这是我应用程序中的“主要活动”),以便在我按HOME键或其他任何键时暂停背景音乐。但我发现当此活动显示时,祝酒词有时会立即显示
“你离开了你的应用程序”
,所以我认为这段代码就是问题所在。有人能帮我吗?
谢谢

试试这段代码,它在这里起作用:

在活动中,在oncreate之前声明媒体播放器会话,如下所示

MediaPlayer mp = new MediaPlayer();
将mp3文件放在res/raw文件夹中

最后把这段代码放到你的java上!(如果您希望自动播放,请打开onCreate,如果需要,也可以将其放入按钮中)


我希望能帮助你

有什么错误,你能把日志复制到这里吗。可能是mp3的路径有问题

您好,我如上所述重新编辑了我的问题,现在我发现我的应用程序有时可以播放背景音乐,但有时不能。添加此权限以防止屏幕变暗
MediaPlayer mp = new MediaPlayer();
mp.stop(); // Stop this if run in another place
mp = MediaPlayer.create(this, R.raw.nameofyourfile);//Load your file from folder
mp.setLooping(false); // Set loop is off, if you want it's on change (true)
mp.start(); // start playing your sound