someone reply please

On Nov 2, 9:04 pm, "Kipling Inscore" <[EMAIL PROTECTED]> wrote:
> On Sun, Nov 2, 2008 at 7:53 AM, Dagger <[EMAIL PROTECTED]> wrote:
>
> > hey developers I need help with this problem
>
> Posting a message like the above usually doesn't help.
>
>
>
> > On Nov 2, 8:45 pm, Dagger <[EMAIL PROTECTED]> wrote:
> >> I am using the 0.9 version of android SDK
>
> Why are you using 0.9? Use 1.0.
>
> >> Encountering the error The application videoplayer has stopped
> >> unexpectedly please try again.
>
> That's what almost every application will give you if it crashes.
> Use adb to get a log. 'adb logcat'.
>
> >> This is the code which I have
> >> Videoplayer.java
>
> >> package com.android.VideoPlayer;
>
> >> import java.io.File;
> >> import java.io.FileOutputStream;
> >> import java.io.IOException;
> >> import java.io.InputStream;
> >> import java.net.URL;
> >> import java.net.URLConnection;
>
> >> import android.app.Activity;
> >> import android.graphics.PixelFormat;
> >> import android.media.MediaPlayer;
> >> import android.media.MediaPlayer.OnBufferingUpdateListener;
> >> import android.media.MediaPlayer.OnCompletionListener;
> >> import android.media.MediaPlayer.OnErrorListener;
> >> import android.os.Bundle;
> >> import android.util.Log;
> >> import android.view.SurfaceHolder;
> >> import android.view.SurfaceView;
> >> import android.view.View;
> >> import android.webkit.URLUtil;
> >> import android.widget.EditText;
> >> import android.widget.ImageButton;
>
> >> public class VideoPlayer extends Activity implements OnErrorListener,
> >>         OnBufferingUpdateListener, OnCompletionListener,
> >>         MediaPlayer.OnPreparedListener, SurfaceHolder.Callback {
> >>     private static final String TAG = "VideoPlayer";
>
> >>     private MediaPlayer mp;
> >>     private SurfaceView mPreview;
> >>     private EditText mPath;
> >>     private SurfaceHolder holder;
> >>     private ImageButton mPlay;
> >>     private ImageButton mPause;
> >>     private ImageButton mReset;
> >>     private ImageButton mStop;
> >>     private String current;
>
> >>     /**
> >>      * Called when the activity is first created.
> >>      */
> >>     public void onCreate(Bundle icicle) {
> >>         super.onCreate(icicle);
>
> >>         setContentView(R.layout.main);
>
> >>         // Set up the play/pause/reset/stop buttons
> >>         mPreview = (SurfaceView) findViewById(R.id.surface);
> >>         mPath = (EditText) findViewById(R.id.path);
> >>         mPlay = (ImageButton) findViewById(R.id.play);
> >>         mPause = (ImageButton) findViewById(R.id.pause);
> >>         mReset = (ImageButton) findViewById(R.id.reset);
> >>         mStop = (ImageButton) findViewById(R.id.stop);
>
> >>         mPlay.setOnClickListener(new View.OnClickListener() {
> >>             public void onClick(View view) {
> >>                 playVideo();
> >>             }
> >>         });
> >>         mPause.setOnClickListener(new View.OnClickListener() {
> >>             public void onClick(View view) {
> >>                 if (mp != null) {
> >>                     mp.pause();
> >>                 }
> >>             }
> >>         });
> >>         mReset.setOnClickListener(new View.OnClickListener() {
> >>             public void onClick(View view) {
> >>                 if (mp != null) {
> >>                     mp.seekTo(0);
> >>                 }
> >>             }
> >>         });
> >>         mStop.setOnClickListener(new View.OnClickListener() {
> >>             public void onClick(View view) {
> >>                 if (mp != null) {
> >>                     mp.stop();
> >>                     mp.release();
> >>                 }
> >>             }
> >>         });
>
> >>         // Set the transparency
> >>         getWindow().setFormat(PixelFormat.TRANSPARENT);
>
> >>         // Set a size for the video screen
> >>         holder = mPreview.getHolder();
> >>         holder.addCallback(this);
> >>         holder.setFixedSize(400, 300);
> >>     }
>
> >>     private void playVideo() {
> >>         try {
> >>             final String path = mPath.getText().toString();
> >>             Log.v(TAG, "path: " + path);
>
> >>             // If the path has not changed, just start the media
> >> player
> >>             if (path.equals(current) && mp != null) {
> >>                 mp.start();
> >>                 return;
> >>             }
> >>             current = path;
>
> >>             // Create a new media player and set the listeners
> >>             mp = new MediaPlayer();
> >>             mp.setOnErrorListener(this);
> >>             mp.setOnBufferingUpdateListener(this);
> >>             mp.setOnCompletionListener(this);
> >>             mp.setOnPreparedListener(this);
> >>             mp.setAudioStreamType(2);
>
> >>             // Set the surface for the video output
> >>             mp.setDisplay((SurfaceHolder)
> >> mPreview.getHolder().getSurface());
>
> >>             // Set the data source in another thread
> >>             // which actually downloads the mp3 or videos
> >>             // to a temporary location
> >>             Runnable r = new Runnable() {
> >>                 public void run() {
> >>                     try {
> >>                         setDataSource(path);
> >>                     } catch (IOException e) {
> >>                         Log.e(TAG, e.getMessage(), e);
> >>                     }
> >>                     try {
> >>                                                 mp.prepare();
> >>                                         } catch (IllegalStateException e) {
> >>                                                 // TODO Auto-generated 
> >> catch block
> >>                                                 e.printStackTrace();
> >>                                         } catch (IOException e) {
> >>                                                 // TODO Auto-generated 
> >> catch block
> >>                                                 e.printStackTrace();
> >>                                         }
> >>                     Log.v(TAG, "Duration:  ===>" + mp.getDuration());
> >>                     mp.start();
> >>                 }
> >>             };
> >>             new Thread(r).start();
> >>         } catch (Exception e) {
> >>             Log.e(TAG, "error: " + e.getMessage(), e);
> >>             if (mp != null) {
> >>                 try{mp.stop();}
> >>                 catch(IllegalStateException f){}
> >>                 mp.release();
> >>             }
> >>         }
> >>     }
>
> >>     /**
> >>      * If the user has specified a local url, then we download the
> >>      * url stream to a temporary location and then call the
> >> setDataSource
> >>      * for that local file
> >>      *
> >>      * @param path
> >>      * @throws IOException
> >>      */
> >>     private void setDataSource(String path) throws IOException {
> >>         if (!URLUtil.isNetworkUrl(path)) {
> >>             mp.setDataSource(path);
> >>         } else {
> >>             URL url = new URL(path);
> >>             URLConnection cn = url.openConnection();
> >>             cn.connect();
> >>             InputStream stream = cn.getInputStream();
> >>             if (stream == null)
> >>                 throw new RuntimeException("stream is null");
> >>             File temp = File.createTempFile("mediaplayertmp", "dat");
> >>             String tempPath = temp.getAbsolutePath();
> >>             FileOutputStream out = new FileOutputStream(temp);
> >>             byte buf[] = new byte[128];
> >>             do {
> >>                 int numread = stream.read(buf);
> >>                 if (numread <= 0)
> >>                     break;
> >>                 out.write(buf, 0, numread);
> >>             } while (true);
> >>             mp.setDataSource(tempPath);
> >>             try {
> >>                 stream.close();
> >>             }
> >>             catch (IOException ex) {
> >>                 Log.e(TAG, "error: " + ex.getMessage(), ex);
> >>             }
> >>         }
> >>     }
>
> >>     public boolean onError(MediaPlayer mediaPlayer, int what, int
> >> extra) {
> >>         Log.e(TAG, "onError--->   what:" + what + "    extra:" +
> >> extra);
> >>         if (mediaPlayer != null) {
> >>             mediaPlayer.stop();
> >>             mediaPlayer.release();
> >>         }
> >>                 return false;
> >>     }
>
> >>     public void onBufferingUpdate(MediaPlayer arg0, int percent) {
> >>         Log.d(TAG, "onBufferingUpdate called --->   percent:" +
> >> percent);
> >>     }
>
> >>     public void onCompletion(MediaPlayer arg0) {
> >>         Log.d(TAG, "onCompletion called");
> >>     }
>
> >>     public void onPrepared(MediaPlayer mediaplayer) {
> >>         Log.d(TAG, "onPrepared called");
> >>     }
>
> >>     public void surfaceCreated(SurfaceHolder surfaceholder) {
> >>         Log.d(TAG, "surfaceCreated called");
> >>         return;
> >>     }
>
> >>     public void surfaceChanged(SurfaceHolder surfaceholder, int i, int
> >> j, int k) {
> >>         Log.d(TAG, "surfaceChanged called");
> >>     }
>
> >>     public void surfaceDestroyed(SurfaceHolder surfaceholder) {
> >>         Log.d(TAG, "surfaceDestroyed called");
> >>     }
>
> >> }
>
> >> Manifest.xml is this
>
> >> <?xml version="1.0" encoding="utf-8"?>
> >> <manifest xmlns:android="http://schemas.android.com/apk/res/android";
> >> package="com.android.VideoPlayer" >
> >>     <application android:icon="@drawable/icon" android:label="@string/
> >> app_name">
> >>     <!-- <uses-library android:name="android.media" />
> >>     <uses-library android:name="android.view" />
> >>     <uses-library android:name="android.widget" />-->
> >>            <activity android:name=".VideoPlayer"
> >> android:label="@string/app_name">
> >>             <intent-filter>
> >>                 <action android:name="android.intent.action.MAIN" />
> >>                 <category
> >> android:name="android.intent.category.LAUNCHER" />
> >>             </intent-filter>
> >>         </activity>
> >>     </application>
> >> </manifest>
>
> >> Main.xml
>
> >> <?xml version="1.0" encoding="utf-8"?>
> >> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
> >> android"
> >>     android:orientation="vertical"
> >>     android:layout_width="fill_parent"
> >>     android:layout_height="fill_parent"
>
> >> <TextView
> >>     android:layout_width="fill_parent"
> >>     android:layout_height="wrap_content"
> >>     android:text="@string/hello"
> >> />
> >> <SurfaceView
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
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