Android VideoView无法在某些设备上播放视频
在从三星Galaxy S4录制了Android VideoView无法在某些设备上播放视频,android,android-videoview,Android,Android Videoview,在从三星Galaxy S4录制了.mp4视频并将其上传到服务器后,我尝试在Nexus 5设备的视频视图中对其进行流式传输,但失败了,Logcat显示了这一点 E/MediaPlayer﹕ Error (1,-2147483648) D/MediaPlayer﹕ Couldn't open file on client side, trying server side 视频大小约为4.82mb,通过intents录制 //VIDEO CAMERA Intent cameraIntent = ne
.mp4
视频并将其上传到服务器后,我尝试在Nexus 5设备的视频视图中对其进行流式传输,但失败了,Logcat显示了这一点
E/MediaPlayer﹕ Error (1,-2147483648)
D/MediaPlayer﹕ Couldn't open file on client side, trying server side
视频大小约为4.82mb
,通过intents录制
//VIDEO CAMERA
Intent cameraIntent = new Intent( MediaStore.ACTION_VIDEO_CAPTURE);
cameraIntent.putExtra( MediaStore.EXTRA_DURATION_LIMIT, 20);
cameraIntent.putExtra( MediaStore.EXTRA_VIDEO_QUALITY, 1 );
startActivityForResult( cameraIntent, TAKE_VIDEO_REQUEST_CODE );
录制的视频在三星设备上正常播放,并且当我将文件从服务器下载到PC时,它也正常播放。我曾尝试将文件下载到我的Nexus设备,但它仍然无法播放,尝试在VideoView
中对其进行流式传输,但每次都失败,出现上述错误。我试过从Nexus5上传一段视频,三星设备可以正常播放。我不知道为什么会发生这种情况,有没有人遇到过类似的问题并找到了解决办法,或者我做错了什么
编辑
它无法在任何系统视频播放器中播放,但仍能在三星原装设备上播放。
我还测试了一个较低的分辨率,然后它就可以工作了,所以现在我想我需要找到一种方法,在视频捕获后改变分辨率,或者如果可能的话,发送一条使用特定分辨率的指令。这方面有什么帮助吗?这些消息并不表示有错误:
E/MediaPlayer﹕ Error (1,-2147483648)
D/MediaPlayer﹕ Couldn't open file on client side, trying server side
因为流媒体内容只能在服务器端打开,所以您可以获得这些信息。在这些错误之后,您应该会得到另一个错误,例如错误(1,-1001)。S4很可能使用Nexus 5不支持的配置文件
至于分辨率,您使用的intent API仅支持2种质量设置(高和低)。低意味着真的低,并且依赖于设备
要更好地控制视频捕获,可以使用摄像头和MediaRecorder界面。有一个导游在
对于更高级的示例,有一个示例项目位于