Android上的错误(1,-2147483648)

7
有人知道这个错误的含义吗?
 VideoView video = (VideoView) findViewById(R.id.myvideo);    
 Intent videoint=getIntent();    
 String url =  videoint.getStringExtra("url"); //The url pointing to the mp4     
 video.setVideoPath(url);     
 video.requestFocus();     
 video.setMediaController(new MediaController(this));     
 video.start();

清单文件权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>

你能提供更多的信息吗?你在哪里看到这个错误?它在什么时候发生? - Maximus
请尽可能发布更多信息,而不是试图猜测它是关于什么的猜谜游戏!!! - t0mm13b
我在我的编辑中包含了产生错误的代码。谢谢大家。 - trivektor
你的清单文件中的权限是什么? - t0mm13b
这里是代码:<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission> - trivektor
3个回答

3

我在Froyo和Gingerbread上也遇到了同样的错误。在更高版本的Android中,同一视频可以正常播放。最终,在进行了大量研究后,尝试将Https Url更改为Http Url,结果奇迹般地解决了我的问题。我使用的是Amazon S3服务器,因此只需将url中的"https"替换为"http"即可。

  videoUrl= videoUrl.replaceFirst("https", "http"); 

注意:如果您正在使用H.264,请确保视频是基线编码,以支持旧版本。


1
问题在于我的情况下是https,3.1之前不支持https。参见http://developer.android.com/guide/appendix/media-formats.html - mehmet6parmak
太棒了!有什么想法可以确保视频是基线编码的吗? - gtsouk
你需要与你的编码工具进行交叉检查。如果你正在使用流媒体服务,可能会有一个选项(在一些支持手机的服务器上)来选择编码配置文件,在其中你可以将其设置为基线。 - Ajith M A
我也解决了!非常感谢 :) 顺便说一下,我也在使用Amazon S3作为数据源。 - nburk

3

0

请查看关于如何使用VideoView的教程,它将为您解决问题。

我认为您可能漏掉了一两行:

mediaController.setAnchorView(video);
video.setMediaController(new MediaController(this));
video.setVideoURI(video);

根据需要调整它以适应您的代码。布局可能会丢失...


1
我也遇到了错误“尝试在没有有效的MediaPlayer的情况下调用getduration”。有什么想法吗? - trivektor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接