2016-08-17 65 views
0

我想在我的Android應用程序中播放RTSP廣播流。Android:RTSP音頻流問題

其實我有這樣的代碼:

btnStart = (Button) this.findViewById(R.id.btnStart); 
mediaPlayer = new MediaPlayer(); 

btnStart.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     try { 
      mediaPlayer.setDataSource(/* RTSP URL */); 
      mediaPlayer.prepare(); 
      mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
       @Override 
       public void onPrepared(MediaPlayer mp) { 
        mp.start(); 
       } 
      }); 
     } catch (Exception ex) { 
      Log.w("MediaPlayer", ex); 
     } 
    } 
}); 

但我也有一些問題:

W/MediaPlayer: info/warning (701, 0) 

    [ 08-17 19:39:16.109 223: 529 D/ ] 
    RPCSendMsgToClient: remote_app_id = 4, context_id = 536871936 

    [ 08-17 19:39:16.109 148: 276 D/ ] 
    AppRecvFromRPCIFTask: recieved_bytes = 22 

    [ 08-17 19:39:16.109 148: 276 D/ ] 
    IPC ReadCB: RET idx(1249) 

E/MediaPlayer: error (1, -2147483648) 
W/MediaPlayer: java.io.IOException: Prepare failed.: status=0x1 
    at android.media.MediaPlayer.prepare(Native Method) 
    at com.oseas.lavozdeloeste.Main$1.onClick(Main.java:28) 
    at android.view.View.performClick(View.java:4438) 
    at android.view.View$PerformClick.run(View.java:18422) 
    at android.os.Handler.handleCallback(Handler.java:733) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5001) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 
    at dalvik.system.NativeStart.main(Native Method) 

的RTSP流是沒有視頻的音頻。任何幫助?

對不起,英文不好,我希望你能理解。

回答

0

u必須使用

mediaPlayer.prepare(); 

ü應使用

mediaPlayer.prepareAsync() 

,而不是

mediaPlayer.prepare() 

和多數民衆贊成它..它應該工作,然後