我想在Android媒體播放器中播放RTSP音頻流。我試圖直接綁定到媒體播放器中的RTSP鏈接。有時它播放的很好,但現在它沒有播放並顯示媒體播放器錯誤:在Android媒體播放器中播放Rtsp音頻流
MediaPlayer(808): error (1, -2147483648).
問題在哪裏?
這裏是我的代碼的某些部分:
public class PlayRadio extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
setDataSource(rtspUrl);
Log.e("inside doinbackground....", path);
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
player.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
player.start();
Toast.makeText(getApplicationContext(), "starting..", Toast.LENGTH_LONG).show();
}
});
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
}
private void setDataSource(String path2) {
// TODO Auto-generated method stub
player=new MediaPlayer();
try {
Uri a =Uri.parse("rtsp://stream.rtm.swiftserve.com/live/rtm/rtm-ch010");
player.setDataSource(getApplicationContext(),a);
player.prepareAsync();
}
catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Log.e("tempPath", tempPath);
}
嗨,你現在有結果嗎?我也有同樣的問題。我使用iMove刪除視頻的視頻部分,只保留音頻,並保存爲.mp4格式。我已經嘗試了很多次。但它證明rtsp不能讀取音頻流。另外,我嘗試使用http而不是rtsp作爲音頻部分。 –
嗨Albert陳,通常Android不支持rtsp編解碼器播放音頻。我通過定製第三方編解碼器('https://www.vitamio.org/en/')解決了rtsp音頻問題。你可以試試這個希望你的問題將得到解決。 –