any idea about this problem?

On Jul 28, 6:38 am, sleith <raysle...@gmail.com> wrote:
> here's the code
> try clicking that will trigger dial number, and then push back button,
> and you will see the video screen disappeared but the sound is playing
> thx :D
>
> public class VideoTest extends Activity {
>
>         private VideoPlayer mVideoPlayer;
>         private String mFile = "/sdcard/Airplane.3gp";
>
>         @Override
>         public void onCreate(Bundle savedInstanceState) {
>                 super.onCreate(savedInstanceState);
>
>                 FrameLayout mainLayout = new FrameLayout(this);
>                 mainLayout.setLayoutParams(new FrameLayout.LayoutParams(
>                                 LayoutParams.FILL_PARENT, 
> LayoutParams.FILL_PARENT));
>                 // set to dial number
>                 mainLayout.setOnClickListener(new OnClickListener() {
>                         public void onClick(View v) {
>                                 Intent dialIntent = new 
> Intent(Intent.ACTION_DIAL, Uri
>                                                 .parse("tel:12345"));
>                                 startActivity(dialIntent);
>                         }
>                 });
>
>                 // surface view for video screen
>                 SurfaceView videoSurface = new SurfaceView(this);
>                 videoSurface.setLayoutParams(new LayoutParams
> (LayoutParams.FILL_PARENT,
>                                 LayoutParams.FILL_PARENT));
>                 mainLayout.addView(videoSurface);
>
>                 mVideoPlayer = new VideoPlayer(videoSurface, mFile);
>
>                 setContentView(mainLayout);
>
>         }
>
>         @Override
>         protected void onResume() {
>                 super.onResume();
>                 mVideoPlayer.Start();
>         }
>
>         @Override
>         protected void onStop() {
>                 super.onStop();
>                 mVideoPlayer.Pause();
>         }
>
>         private class VideoPlayer implements MediaPlayer.OnPreparedListener,
>                         SurfaceHolder.Callback {
>
>                 private MediaPlayer mMediaPlayer;
>                 private String mVideoFile;
>                 private SurfaceHolder mHolder;
>
>                 public VideoPlayer(final SurfaceView surfaceView, final 
> String file)
> {
>                         mHolder = surfaceView.getHolder();
>                         mHolder.addCallback(this);
>                         
> mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
>                         mHolder.setSizeFromLayout();
>
>                         mVideoFile = file;
>                 }
>
>                 public void Start() {
>                         if (mMediaPlayer != null)
>                                 mMediaPlayer.start();
>                 }
>
>                 public void Pause() {
>                         if (mMediaPlayer != null)
>                                 mMediaPlayer.pause();
>                 }
>
>                 public void onPrepared(MediaPlayer mp) {
>                         mVideoPlayer.Start();
>                 }
>
>                 public void surfaceChanged(SurfaceHolder holder, int format, 
> int
> width,
>                                 int height) {
>                 }
>
>                 public void surfaceCreated(SurfaceHolder holder) {
>                         // to prevent recreating media player
>                         if (mMediaPlayer == null) {
>                                 mMediaPlayer = new MediaPlayer();
>
>                                 try {
>                                         
> mMediaPlayer.setDataSource(mVideoFile);
>                                         mMediaPlayer.setDisplay(mHolder);
>                                         mMediaPlayer.prepare();
>                                         
> mMediaPlayer.setOnPreparedListener(this);
>                                         
> mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
>
>                                 } catch (Exception e) {
>                                 }
>                         }
>                 }
>
>                 public void surfaceDestroyed(SurfaceHolder holder) {
>                 }
>
>                 public void onBufferingUpdate(MediaPlayer mp, int percent) {
>                 }
>
>         }
>
> }
>
> On Jul 27, 10:40 pm, Mark Murphy <mmur...@commonsware.com> wrote:
>
> > sleith wrote:
> > > any idea?
>
> > Is this hardware or the emulator?
>
> > If it is the emulator, can you reproduce the problem on a device?
>
> > --
> > Mark Murphy (a Commons 
> > Guy)http://commonsware.com|http://twitter.com/commonsguy
>
> > _Android Programming Tutorials_ Version 1.0 In Print!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to