Hi justin,
   In media player Api of android we can start media player after
setting datasource as a fd.

So i opened filedescriptor of an inet socket and passed fd to
setdatasource for the mediapalyer..

But my application exit with the following crash....

01-29 17:40:24.041: ERROR/MediaPlayerService(59): offset error
01-29 17:40:24.048: ERROR/MediaPlayer(5682): Unable to to create media
player

01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682): error:
setDataSourceFD failed.: status=0x80000000
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682): java.io.IOException:
setDataSourceFD failed.: status=0x80000000
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.media.MediaPlayer.setDataSource(Native Method)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.media.MediaPlayer.setDataSource(MediaPlayer.java:749)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
com.srcb.httpstream.HttpStreamingDemo.playVideo(HttpStreamingDemo.java:
171)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
com.srcb.httpstream.HttpStreamingDemo.surfaceCreated(HttpStreamingDemo.java:
90)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.SurfaceView.updateWindow(SurfaceView.java:532)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.SurfaceView.dispatchDraw(SurfaceView.java:339)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.View.draw(View.java:6743)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.widget.FrameLayout.draw(FrameLayout.java:352)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.drawChild(ViewGroup.java:1640)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.View.draw(View.java:6743)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.widget.FrameLayout.draw(FrameLayout.java:352)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
com.android.internal.policy.impl.PhoneWindow
$DecorView.draw(PhoneWindow.java:1842)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewRoot.draw(ViewRoot.java:1407)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewRoot.performTraversals(ViewRoot.java:1163)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.os.Handler.dispatchMessage(Handler.java:99)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.os.Looper.loop(Looper.java:123)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
android.app.ActivityThread.main(ActivityThread.java:4627)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
java.lang.reflect.Method.invokeNative(Native Method)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
java.lang.reflect.Method.invoke(Method.java:521)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:858)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
01-29 17:45:48.148: ERROR/MediaPlayerDemo(5682):     at
dalvik.system.NativeStart.main(Native Method)



Following is the snippet of code


String host="192.168.16.6";
             String file="/Video/nasif/1/1.mp4";
             Charset charset = Charset.forName("ISO-8859-1");
                 CharsetEncoder encoder = charset.newEncoder();
                 SocketChannel channel = null;
                 InetSocketAddress socketAddress = new
InetSocketAddress(host, 8080);
                 channel = SocketChannel.open();
                 channel.connect(socketAddress);
                 String request = "GET " + file + " \r\n\r\n";
                 channel.write(encoder.encode(CharBuffer.wrap(request)));
                 Socket socket=channel.socket();
                 ParcelFileDescriptor
pfd=ParcelFileDescriptor.fromSocket(socket);


        //      path="http://192.168.16.6:8080/Video/nasif/1/1.mp4";;
            mMediaPlayer = new MediaPlayer();
            FileDescriptor fd=pfd.getFileDescriptor();
            fd.sync();
            mMediaPlayer.setDataSource(fd);
           // pfd.close();
            mMediaPlayer.setDisplay(holder);
            mMediaPlayer.prepare();
            mMediaPlayer.setOnBufferingUpdateListener(this);
            mMediaPlayer.setOnCompletionListener(this);
            mMediaPlayer.setOnPreparedListener(this);
            mMediaPlayer.setOnVideoSizeChangedListener(this);
 
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);


Awaiting your reply....

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