3

私はライブストリームを再生するためのAndroidアプリケーションを開発していました。これらはOS2.2および2.3で正常に動作しています。私たちに提供された新しいデバイスはOS4.0.4であり、エラーが発生するたびに発生します。onErrorListener()メソッドでメディアエラーが不明です。これが私のコードです

    mVideoView = new VideoView(this);// (VideoView)
    mVideoView.setId(id_mVideoview);

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

    mVideoView.setLayoutParams(lp);

    mVideoView.setOnKeyListener(this);
    mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {

        public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
            // TODO Auto-generated method stub
            mHandler.removeCallbacksAndMessages(null);
            Toast.makeText(
                    streamplayer_filmstrip.this," Video cannot be        played", Toast.LENGTH_LONG)
                    .show();
            try {
                Thread.sleep(3000);
                Go_Back();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                Log.d("VidError",
                        "Exception :: " + e.toString() + e.getMessage());
                Toast.makeText(streamplayer_filmstrip.this,
                        "On Error Ex ::" + e.toString(), Toast.LENGTH_LONG)
                        .show();
                e.printStackTrace();
            }
            return true;
        }
    });

    mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

        public void onPrepared(MediaPlayer arg0) {
                    // doneSomething        
                    });


       mVideoView.setVideoURI(Uri.parse(getStreamURL("some_url_for_live_stream")));

        mVideoView.postInvalidateDelayed(100);
        mVideoView.setMediaController(null);
        if (mView1.getVisibility() == View.GONE)
            mVideoView.requestFocus();
        else {
            ll_PopUp.bringToFront();
            mView1.requestFocus();
        }
        mVideoView.start();

どんな助けでも大歓迎です

4

1 に答える 1

0

Android でのビデオの処理は、デバイスの種類に基づいて異なります。デバイスと、おそらく使用しているストリーミングの種類について言及する必要があります。rtsp ストリーミングは android でサポートされています。他のバージョンでは、デバイスがストリーミングの種類をサポートしている場合とサポートしていない場合があります。

于 2012-08-15T09:38:58.353 に答える