如何在服务类中使用setDisplay()用于在活动类中创建surfaceView的媒体播放器?

时间:2014-04-11 16:46:04

标签: android android-intent service android-mediaplayer

在我的活动课中,我将surfaceview设置为:

surfaceView =(SurfaceView)findViewById(R.id.surfaceView1);

现在我想设置我在服务类中创建和启动的媒体播放器的显示,因为我希望它在后台运行,即使任何人没有与活动交互。我想在服务类中使用以下代码,但是如何使用在服务中的activity中声明的surfaceView,因为它无法通过intent.putExtra()从activity传递到service。

mMediaPlayer.reset();
mMediaPlayer.setDataSource(filename);
mMediaPlayer.setDisplay(surfaceView.getHolder());

1 个答案:

答案 0 :(得分:0)

Bind to the Service from the Activity以便您拥有Service的实例。创建一个从MediaPlayer返回Service实例的方法。其余的应该是显而易见的,我相信。只要问一下是否有任何不合理的事情。