1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Kelthur, 21.11.2011 #1
    Kelthur

    Kelthur Threadstarter Neuer Benutzer

    Hallo,

    ich habe das Beispiel MediaPlayerDemo Video aus dem API-Demos 2.3.3 herrausgegriffen um ein RTSP Stream zum laufen zu bringen, leider bringt er mir immer wieder eine Fehlermeldung... der Code schaut so aus:


    ----------------------------------------------------------------------
    path = "rtsp://192.168.103.41/";

    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setDataSource(path);
    mMediaPlayer.setDisplay(holder);
    mMediaPlayer.prepare();
    mMediaPlayer.setOnBufferingUpdateListener(this);
    mMediaPlayer.setOnCompletionListener(this);
    mMediaPlayer.setOnPreparedListener(this);
    mMediaPlayer.setOnVideoSizeChangedListener(this);
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);


    public void onBufferingUpdate(MediaPlayer arg0, int percent) {
    Log.d(TAG, "onBufferingUpdate percent:" + percent);

    }

    public void onCompletion(MediaPlayer arg0) {
    Log.d(TAG, "onCompletion called");
    }

    public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
    Log.v(TAG, "onVideoSizeChanged called");
    if (width == 0 || height == 0) {
    Log.e(TAG, "invalid video width(" + width + ") or height(" + height + ")");
    return;
    }
    mIsVideoSizeKnown = true;
    mVideoWidth = width;
    mVideoHeight = height;
    if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown) {
    startVideoPlayback();
    }
    }

    public void onPrepared(MediaPlayer mediaplayer) {
    Log.d(TAG, "onPrepared called");
    mIsVideoReadyToBePlayed = true;
    if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown) {
    startVideoPlayback();
    }
    }

    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");
    }


    public void surfaceCreated(SurfaceHolder holder) {
    Log.d(TAG, "surfaceCreated called");
    playVideo(extras.getInt(MEDIA));


    }

    @Override
    protected void onPause() {
    super.onPause();
    releaseMediaPlayer();
    doCleanUp();
    }

    @Override
    protected void onDestroy() {
    super.onDestroy();
    releaseMediaPlayer();
    doCleanUp();
    }

    private void releaseMediaPlayer() {
    if (mMediaPlayer != null) {
    mMediaPlayer.release();
    mMediaPlayer = null;
    }
    }

    private void doCleanUp() {
    mVideoWidth = 0;
    mVideoHeight = 0;
    mIsVideoReadyToBePlayed = false;
    mIsVideoSizeKnown = false;
    }

    private void startVideoPlayback() {
    Log.v(TAG, "startVideoPlayback");
    holder.setFixedSize(mVideoWidth, mVideoHeight);
    mMediaPlayer.start();
    }

    ----------------------------------------------------------------------

    bis auf den path wurde nichts geändert... Logcat:

    [​IMG]

    mit einer Portangabe funktioniert es auch nicht "rtsp://192.168.103.41:5544/" mit externen RTSP Playern funktioniert es... es liegt also auch nicht an der firewall. Ich wäre für jeden Tipp dankbar


    *edit* PROBLEM GELÖST lag an den Codec... von TS auf h264 geändert und es ging
     
    Zuletzt bearbeitet: 21.11.2011
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] RadioButtons mit Button Tinting sehen auf Geräten unterschiedlich aus (API > 21) Android App Entwicklung 09.09.2017
[ERLEDIGT] Eingabe auf Webseite über API mit Smartphone autorisieren Android App Entwicklung 31.05.2017
Excel Dokument mithilfe von JExcelAPI auslesen funktioniert nicht :/ Android App Entwicklung 02.03.2017
Android API lernen (mit Programmier-Vorkenntnissen) Android App Entwicklung 01.02.2017
Diskussion zum REST-Api Android App Entwicklung 01.11.2016

Users found this page by searching for:

  1. rtsp beispiele