我正在尝试写一个简单的应用程序,使用VideoView在安卓设备上播放RTSP流。我发现MediaPlayer类可以直接播放RTSP。
下面是我在应用程序中使用的代码片段:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rtpplayback);
final VideoView vidView = (VideoView)findViewById(R.id.video_view);
MediaController vidControl = new MediaController(this);
vidControl.setAnchorView(vidView);
vidView.setMediaController(vidControl);
vidView.setVideoPath("rtsp://media.smart-streaming.com/mytest/mp4:sample_phone_300k.mp4");
vidView.start();
}我从here得到了rtsp链接,所以我假设那里没有问题。
然而,当我尝试在设备上运行这个应用程序时,我得到了“无法播放此视频”错误。
从亚洲开发银行的日志中,我看到:
E/MediaPlayer-JNI﹕ QCMediaPlayer mediaplayer NOT present
D/MediaPlayer﹕ Couldn't open file on client side, trying server side
E/MediaPlayer: error (1, -2147483648)
E/MediaPlayer: Error (1,-2147483648)
D/VideoView: Error: 1,-2147483648我已经在我的Android Manifest文件中添加了uses-permission,以包含INTERNET权限。
这会不会是URI本身的问题?我尝试使用多个URI,但结果相同。我在stackoverflow上发现了一些链接,提供了将Youtube链接转换为RTSP链接的方法,但这些链接现在似乎被弃用了(它不起作用)。
有什么想法/建议吗?在相关注释中,如果您知道任何已知的RTSP链接,请务必提出建议。
发布于 2015-08-04 11:48:13
可能解决方案是使用本地播放器进行播放
String videoURL = "rtsp://media.smart-streaming.com/mytest/mp4:sample_phone_300k.mp4";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(videoURL));
startActivity(intent);https://stackoverflow.com/questions/31800022
复制相似问题