将视频加载到android设备时出现java.net.ProtocolException

时间:2020-03-22 19:06:36

标签: java android node.js http-headers protocol-buffers

我尝试从该网址加载视频:192.163.4.11:3899/v?v=dssavv51ok83dv0l8.mp4

此url对应于我的服务器节点js上的这些行

app.get('/v', function(request, response) {
    var video = request.param("v");
    var video = fs.readFileSync(__dirname+'/v/'+video);
    response.writeHead(200, {'Content-Type': 'audio/mpeg4' });
    response.end(video, 'binary');
});

此视频可以完美地在Firefox上加载。但是在我的android设备上,我用这一行加载视频。

videoView.setVideoPath("192.163.4.11:3899/v?v=dssavv51ok83dv0l8.mp4");

此行之后,我的电话返回:

W/MediaPlayer: Couldn't open http://192.168.0.15:4001/i?i=dssavvb8k81sg5qj.mp4: java.io.FileNotFoundException: No content provider: http://192.168.0.15:4001/i?i=dssavvb8k81sg5qj.mp4
V/MediaHTTPService: MediaHTTPService(android.media.MediaHTTPService@cce966): Cookies: null
V/MediaHTTPService: makeHTTPConnection: CookieHandler (java.net.CookieManager@51a5558) exists.
makeHTTPConnection(android.media.MediaHTTPService@cce966): cookieHandler: java.net.CookieManager@51a5558 Cookies: null
D/MediaPlayerNative: getMetadata
W/MediaHTTPConnection: readAt 1034772 / 32768 => java.net.ProtocolException
W/MediaHTTPConnection: readAt 805966 / 32768 => java.net.ProtocolException
W/MediaHTTPConnection: readAt 144733 / 32768 => java.net.ProtocolException
W/MediaHTTPConnection: readAt 143037 / 32768 => java.net.ProtocolException
W/MediaHTTPConnection: readAt 1034772 / 32768 => java.net.ProtocolException

最后一行不断重复。您应该知道我的用户的视频是通过将视频转换为字符串并通过以下行保存来发送的:

fs.writeFileSync('yao/v/'+name, data, {encoding: 'base64'});

字符串转换:

Base64.encodeToString(data, Base64.DEFAULT)

谢谢您的帮助。

0 个答案:

没有答案