Android Mediaplayer如何使用SDP文件打开视频流
我想使用Android mediaplayer通过我用gstreamer创建的RTP流打开视频 我将流信息放在SDP文件中并尝试加载它Android Mediaplayer如何使用SDP文件打开视频流,android,android-emulator,android-mediaplayer,rtp,Android,Android Emulator,Android Mediaplayer,Rtp,我想使用Android mediaplayer通过我用gstreamer创建的RTP流打开视频 我将流信息放在SDP文件中并尝试加载它 public class MainActivity extends Activity implements MediaPlayer.OnPreparedListener, SurfaceHolder.Callback{ @Override public void onPrepared(MediaPlayer mediaPlayer) { Log.d(&
public class MainActivity extends Activity implements MediaPlayer.OnPreparedListener, SurfaceHolder.Callback{
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
Log.d("App", "Mediaplayer starting");
mediaPlayer.start();
Log.d("App", "MP Playing");
}
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDisplay(surfaceHolder);
// I tried this also and failed
//Uri uri = Uri.parse("/mnt/sdcard/mjpg.sdp");
Uri videoUri = Uri.parse("/mnt/sdcard/mjpg.sdp");
try {
mediaPlayer.setDataSource("/sdcard/victamjpg.sdp");
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
}
catch (Exception e) {
Log.d("App", e.getMessage());
}
Log.d("App", "Player created");
}
这会产生错误
10-2922:11:09.510 2781-2781/?D/App:setDataSource失败
10-2922:11:09.510 2781-2781/?D/应用程序:已创建播放器
并且永远不会执行onPrepared
这就是流的发送方式
gst-launch-1.0-v ximagesrc use damage=false!视频转换!电子秤!视频/x-raw,格式=I420,宽度=320,高度=200,帧速率=25/1!JPEG!rtpjpegpay!udpsink主机=127.0.0.1端口=5200
使用Gstreamer的另一个实例进行接收工作正常
这是SDP文件的内容
v=0
m=video 5002 RTP/AVP 92
c=IN IP4 10.0.2.2
a=rtpmap:96 JPEG/90000
从10.0.2.2开始,指向主机环回设备。你解决了这个问题吗?@IvánPérez通过为Android编译Gstreamer并使用该播放器播放流解决了这个问题。我认为我用本机视频播放器尝试的解决方案是一条死胡同。如果你不知道,我很想听听细节。