3

我正在嘗試爲Android創建RTSP播放器,但我收到錯誤視頻無法播放。我不知道什麼我做了錯誤,這根本不工作,我嘗試了所有方法,我給在下面RTSP Android媒體播放器

import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.Context; 
import android.content.Intent; 
import android.view.Menu; 
import android.widget.MediaController; 
import android.widget.VideoView; 

public class MainActivity extends Activity { 
VideoView myVideoView; 
ProgressDialog progDailog; 
AudioManager audio; 
MediaController mediaController; 
String unStringUrl="rtsp://his.dvrdns.org:8554/channel/2"; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    myVideoView = (VideoView)findViewById(R.id.videoplayer);   
    progDailog = ProgressDialog.show(MainActivity.this, null, "Video loading...", true);   
    audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

    mediaController = new MediaController(this); 
    myVideoView.setMediaController(mediaController); 
    myVideoView.setVideoURI(Uri.parse(unStringUrl)); 
    myVideoView.requestFocus(); 

    myVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     public void onPrepared(MediaPlayer arg0) { 

        // called too soon with rtsp in 4.1 

      if(progDailog != null) { 
       progDailog.dismiss(); 
      } 

      myVideoView.start(); 
     } 
    }); 

    myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     public void onCompletion(MediaPlayer mp) { 
      /*Intent intent = new Intent(MyVideoView.this, lastActivity); 
      intent.putExtra("cleTitre", activityTitle); 
      intent.putExtra("cleSegment", activityCat); 
      startActivity(intent);*/ 
     } 
    }); 

    myVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      if(progDailog != null) { 
       progDailog.dismiss(); 
      } 

      return false; 
     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

} 
+0

我有同樣的問題。你有沒有找到這個問題的解決方案?請給我發電子郵件[email protected] – sorunluadam 2016-02-02 15:24:31

+0

我知道這是一個古老的線程,但你能找到什麼? – Coder 2017-03-06 08:09:30

回答

0

的代碼,你可以嘗試,包括(以下線)寬帶-Permisison線你的應用程序的清單文件。在我的情況下,它的工作。

使用許可權的android:NAME = 「android.permission.INTERNET對」

希望這有助於。