我正在尝试流式传输视频并使用 VideoView 播放。我使用 setVideoURI() 为视图提供视频的源 URL,如下所示。使用像 urlString = "www.myvideoserver.com/videos/bigbuckbunny.mp4" 这样的硬编码值,视频可以正常播放。但是,当 urlString 被赋予来自意图的值(来自用户选择视频的上一个活动)时,我收到消息:“抱歉,无法播放视频”。我读过一个常见的原因是视频格式,就像这里和这里描述的那样. 我几乎可以肯定这不是格式问题,因为我可以在 URL 固定时播放视频(我知道这一点是因为我可以从 Log.d("PVurl", urlString); 中看到 urlString 的值是与我修复的完全相同。也就是说,在 LogCat 中,我将值复制粘贴到该行urlString = getIntent()... // "www.myvideoserver.com/videos/bigbuckbunny.mp4"
中,它可以工作,但当 urlString 设置为意图返回值时它不起作用。LogCat Errror 面板给出以下内容:
04-13 17:35:32.786: ERROR/MediaPlayer(2620): error (1, -1007)
04-13 17:35:32.786: ERROR/MediaPlayer(2620): Error (1,-1007)
我在互联网上搜索过,但似乎没有人以前遇到过这样的错误代码。
如果有人知道可能是什么问题,我将不胜感激。谢谢!
public void playvideo () { // obtain URL of the requested video from the intent in previous activity
try
{
urlString = getIntent().getStringExtra("mypackage.fulladdr");
if (urlStr != null)
{
Log.d("PVurl", urlString);
VideoView v = (VideoView) findViewById(R.id.videoView1);
// play video
v.setVideoURI(Uri.parse(urlString));
v.setMediaController(new MediaController(this));
v.start();
v.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
showRatingDialog();
}
});
}
}
catch (Exception e)
{
Log.d("PV_TAG", +e.getMessage());
e.printStackTrace();
}
}