如果我在 res 的原始文件夹中有一个名为 twelve_chimes.mp3 的 mp3 文件,你能告诉我使用什么编码将它从我的 Activity 传递到服务以及如何接收传递的信息吗?
目前我正在使用此代码调用该服务:
startService(new Intent(this, MyService.class));
在服务中,这是我播放媒体文件的方式:
player = MediaPlayer.create(this, R.raw.twelve_chimes);
player.setLooping(false);
player.start();
如果无法传递 R.raw.twelve_chimes,是否可以将其作为传入的字符串来完成,并以某种方式使用该字符串在服务中播放?
谢谢。
真的, 埃马德
最佳答案
如果服务与 Activity 在同一个 Android 包中,那么服务应该可以使用 R.raw.twelve_chimes
:您应该能够在 Intent 中将其作为 Integer 传递:
Intent i = new Intent(this, MyService.class);
i.putExtra("OPTION", R.raw.twelve_chimes);
并在服务的 onStartCommand 中:
player = MediaPlayer.create(this, intent.getIntExtra("OPTION"));
player.setLooping(false);
player.start();
可能需要一些更改来处理您调用 player
的位置,但这或多或少应该可行。
关于android - 如何将诸如 R.raw.twelve_chimes 之类的值从 Activity 传递到服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7381099/