Hi,

I am also facing similar problem with media player.

i changed the mediaplayer according to your activity 1, but in which file,
the layout changes to be added.

Thanks and Regards,
HarishKumar.V

On Sun, Apr 26, 2009 at 11:17 PM, Fábio Fabris <[email protected]>wrote:

>
> Hello fellow developers!
>
> I'm having quite a hard time using the android.media.MediaPlayer
> class.
> I would like to implement a very simple proof of concept Activity that
> just launches a mp4 video.
> I've successfully achieved this by using a callback like this:
>
> See ACTIVITY 1.
>
> It successfully plays the video.
>
> After that I tried the Callback-free version:
>
> See ACTIVITY 2.
>
> The result is sound coming out just fine and a black square instead of
> a video.
>
> Does anyone knows what is going on here?
> In using:
> android-sdk-linux_x86-1.1_r1
> java-sun6-sdk
> Ubuntu 9.04 32bits
>
> Thank you!
>
> ##############BEGIN ACTIVITY 1###########
> package test.test;
>
> import java.io.IOException;
>
> import android.app.Activity;
> import android.media.AudioManager;
> import android.media.MediaPlayer;
> import android.os.Bundle;
> import android.view.SurfaceHolder;
> import android.view.SurfaceView;
> import android.view.View;
> import android.view.View.OnClickListener;
> import android.widget.Button;
>
> class MyCallback implements SurfaceHolder.Callback,
> MediaPlayer.OnPreparedListener{
>
>        private String path;
>        private MediaPlayer mMediaPlayer;
>
>        public MyCallback(String string) {
>                path=string;
>        }
>
>        public void surfaceChanged(SurfaceHolder holder, int format, int
> width,int height) {}
>
>        public void surfaceCreated(SurfaceHolder holder) {
>        mMediaPlayer = new MediaPlayer();
>        try {
>                        mMediaPlayer.setDataSource(path);
>                        mMediaPlayer.setDisplay(holder);
>                mMediaPlayer.prepare();
>                } catch (IOException e) {
>                        e.printStackTrace();
>                }
>        mMediaPlayer.setOnPreparedListener(this);
>        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
>        }
>
>        public void surfaceDestroyed(SurfaceHolder holder) {
>        }
>
>        public void onPrepared(MediaPlayer mp) {
>                mp.start();
>        }
>
> }
>
> public class test extends Activity {
>
>        private SurfaceView mPreview;
>        private SurfaceHolder holder;
>
>        public void onCreate(Bundle savedInstanceState) {
>        super.onCreate(savedInstanceState);
>        setContentView(R.layout.main);
>        mPreview = (SurfaceView) findViewById(R.id.SurfaceView01);
>        holder = mPreview.getHolder();
>        holder.addCallback(new MyCallback("/sdcard/yu2.mp4"));
>        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
>    }
> }
>
> ##############END OF ACTIVITY 1###########
>
> ##############BEGIN ACTIVITY 2###########
> package test.test;
>
> import android.app.Activity;
> import android.media.AudioManager;
> import android.media.MediaPlayer;
> import android.os.Bundle;
> import android.view.SurfaceHolder;
> import android.view.SurfaceView;
> import android.view.View;
> import android.view.View.OnClickListener;
> import android.widget.Button;
>
> public class test extends Activity {
>
>        @Override
>        public void onCreate(Bundle savedInstanceState) {
>                super.onCreate(savedInstanceState);
>                setContentView(R.layout.main);
>                Button but = (Button) findViewById(R.id.Button01);
>                but.setOnClickListener(new OnClickListener() {
>                        public void onClick(View v) {
>                                show();
>                        }
>                });
>        }
>
>        private void show() {
>                SurfaceView sv = (SurfaceView)
> findViewById(R.id.SurfaceView01);
>                SurfaceHolder holder = sv.getHolder();
>                holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
>                MediaPlayer mp = new MediaPlayer();
>
>                try {
>                        mp.setDataSource("/sdcard/yu2.mp4");
>                        mp.setDisplay(holder);
>                        mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
>                        mp.prepare();
>                } catch (Exception e) {
>                        e.printStackTrace();
>                }
>                mp.start();
>        }
> }
> ##############END OF ACTIVITY 2###########
>
> ##############LAYOUT###########
> <?xml version="1.0" encoding="utf-8"?>
>
> <AbsoluteLayout android:id="@+id/AbsoluteLayout01"
> xmlns:android="http://schemas.android.com/apk/res/android";
> android:layout_height="fill_parent"
> android:layout_width="fill_parent"><SurfaceView android:id="@+id/
> SurfaceView01" android:layout_height="100px"
> android:layout_width="100px"></SurfaceView>
> <Button android:id="@+id/Button01" android:layout_width="wrap_content"
> android:layout_height="wrap_content" android:layout_y="200px"></
> Button>
> </AbsoluteLayout>
>
> ##############END OF LAYOUT###########
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to