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 -~----------~----~----~----~------~----~------~--~---

