안녕하세요
메인 액티비티에서는
SurfaceView surface = new SurfaceView(this);
ADholder = surface.getHolder();
ADholder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
Adframe = (FrameLayout) findViewById(R.id.frlayAdVidio);
Adframe.addView(surface);
VidioADplayer.setDataSource(bgpath);
VidioADplayer.setDisplay(ADholder);
VidioADplayer.prepare();
VidioADplayer.start();
이런식으로 동영상을 재생 했습니다
근데 구조를 Fragment 식으로 바꾸고 있어서
Fragment안에서 동영상을 재생할려고 하는데요
surface = new SurfaceView(view.getContext()); <- 이곳을 어떻게 처리 해줘야 하는지 모르겠습니다.
mADholder = surface.getHolder();
mADholder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
flAdVidio.addView(surface);
로그는
07-22 03:16:04.890: E/ad(4320): java.lang.IllegalArgumentException: The surface has been released
07-22 03:16:04.890: E/ad(4320): at android.media.MediaPlayer._setVideoSurface(Native Method)
07-22 03:16:04.890: E/ad(4320): at android.media.MediaPlayer.setDisplay(MediaPlayer.java:737)
07-22 03:16:04.890: E/ad(4320): at com.fragment.AdDisplayFrag.setAdView(AdDisplayFrag.java:183)
07-22 03:16:04.890: E/ad(4320): at com.example.smartcd.MainActivity.MainSystemInit(MainActivity.java:154)
07-22 03:16:04.890: E/ad(4320): at com.example.smartcd.MainActivity.onCreate(MainActivity.java:117)
07-22 03:16:04.890: E/ad(4320): at android.app.Activity.performCreate(Activity.java:6005)
07-22 03:16:04.890: E/ad(4320): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
07-22 03:16:04.890: E/ad(4320): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
07-22 03:16:04.890: E/ad(4320): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
07-22 03:16:04.890: E/ad(4320): at android.app.ActivityThread.access$800(ActivityThread.java:151)
07-22 03:16:04.890: E/ad(4320): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
07-22 03:16:04.890: E/ad(4320): at android.os.Handler.dispatchMessage(Handler.java:102)
07-22 03:16:04.890: E/ad(4320): at android.os.Looper.loop(Looper.java:135)
07-22 03:16:04.890: E/ad(4320): at android.app.ActivityThread.main(ActivityThread.java:5258)
07-22 03:16:04.890: E/ad(4320): at java.lang.reflect.Method.invoke(Native Method)
07-22 03:16:04.890: E/ad(4320): at java.lang.reflect.Method.invoke(Method.java:372)
07-22 03:16:04.890: E/ad(4320): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:940)
07-22 03:16:04.890: E/ad(4320): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:735)
이렇게 나오고요
방법이 없을까요?