1

在我的应用程序中,我使用以下代码播放音频文件

Uri data = Uri.parse("file:/" + songnameandpath);
                intent.setDataAndType(data, "audio/*");

                            PackageManager packageManager = getActivity()
                                    .getPackageManager();
                            List<ResolveInfo> activities = packageManager
                                    .queryIntentActivities(intent, 0);
                            boolean isIntentSafe = activities.size() > 0;




                            if (isIntentSafe) {
                                startActivity(intent);

所以现在当用户点击后退按钮音频停止时,如果我想播放音频,即使用户按下活动上的后退按钮,而且它必须在后台播放音频在手机中的确切方式。

示例代码对我有很大帮助。提前致谢

4

1 回答 1

1

您是否尝试过使用媒体播放器?

这是对我有用的代码,只需删除 on pause/destroy 方法或重新定义它们,即使用户按下回,您也会播放声音..

public class MainActivity extends Activity {

    private MediaPlayer mp;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        mp= MediaPlayer.create (this, R.raw.sound); // sound is for example your mp3 song
        mp.start ();      
    }

    protected void onDestroy() {
        super.onDestroy();
        mp.release();
    }

    protected void onPause() {
        super.onPause();
        mp.pause();
    }

    protected void onResume() {
        super.onResume();
        mp.start();
    }

    protected void onStart() {
        super.onStart();
    }

}

更新

即使活动完成,MediaPlayer 仍将继续播放文件,除非您通过停止功能明确停止

于 2012-11-30T14:02:25.483 回答