private String User_Login(String ezserver_ip, int ezserver_port, String username, String password) { String sendbuffer = null; String revbuffer = null; String token = null; String maciddot = null; String macid = null; int keyword_pos = 0; int crln_pos = 0; byte inbuffer[] = new byte[1024]; byte outbuffer[] = new byte[1024]; String User_Password; Socket socket; try { g_message = ezserver_ip + ":" + ezserver_port; Log.i("11111",g_message); socket = new Socket(ezserver_ip, ezserver_port); socket.setSoTimeout(30 * 1000); // 30 seconds OutputStream outstream = socket.getOutputStream(); InputStream instream = socket.getInputStream(); g_message = ezserver_ip + ":" + ezserver_port; Log.i("22222", g_message); // Send EZserver HTTP Command User_Password = username + ':' + password; String encodedStingtemp = Base64.encodeToString(User_Password.getBytes(), Base64.DEFAULT); String encodedSting = encodedStingtemp.substring(0, encodedStingtemp.length() - 1); //g_message="["+encodedSting+"]"+"Len="+encodedSting.length(); //Log.i("",g_message); //sendbuffer="GET HTTP/1.1 /token/createtokenbased64?encrpty="+encodedSting+"Host: mgstalker.com:8880\r\nConnection: keep-alive\r\nUser-Agent: EZhometech\r\nAccept: */*\r\n\r\n"; //sendbuffer="GET /token/createtoken?userid="+username+"&password="+password+" HTTP/1.1\r\nHost: "+ezserver_ip+":"+ezserver_port+"\r\nConnection: close\r\nUser-Agent: EZhometech\r\n\r\n"; //sendbuffer="GET /token/createtoken?userid="+username+"&password="+password+" HTTP/1.1\r\nUser-Agent: EZhometech\r\nConnection: close\r\nHost: mgstalker.com:8880\r\n\r\n"; sendbuffer = "GET /token/createtokenbased64?encrpty=" + encodedSting + " HTTP/1.1\r\nHost: " + ezserver_ip + ":" + ezserver_port + "\r\nConnection: close\r\nUser-Agent: EZhometech\r\n\r\n"; //Log.i("",sendbuffer); outbuffer = sendbuffer.getBytes(); outstream.write(outbuffer); // Receive EZserver HTTP Response int toread = 1024; int len = 0; for (int index = 0; index < toread; ) { len = instream.read(inbuffer, index, toread - index); if (len < 0) break; index = index + len; } revbuffer = new String(inbuffer); //Log.i("revbuffer111111111",revbuffer); // Close Socket outstream.close(); instream.close(); // Get token if (revbuffer.contains("200 OK") == false) { return null; } else { keyword_pos = revbuffer.indexOf("token="); if (keyword_pos != -1) { try { crln_pos = revbuffer.indexOf("\r\n", keyword_pos); token = revbuffer.substring(keyword_pos + 6, crln_pos); if ((token.equals("-2")) || (token.equals("-3"))) { Log.i("error", token); } else { //WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); //maciddot = wifi.getConnectionInfo().getMacAddress(); maciddot = getMacAddr(); macid = maciddot.substring(0, 2) + maciddot.substring(3, 5) + maciddot.substring(6, 8) + maciddot.substring(9, 11) + maciddot.substring(12, 14) + maciddot.substring(15, 17); // Connect EZserver socket = new Socket(ezserver_ip, ezserver_port); outstream = socket.getOutputStream(); instream = socket.getInputStream(); // Send EZserver HTTP Command //sendbuffer = "GET HTTP/1.1 /server/set_player_mac_address?token=" + token + ":macid=" + macid + "\r\nUser-Agent=EZhometech\r\n\r\n"; sendbuffer = "GET /server/set_player_mac_address?token=" + token + ":macid=" + macid + " HTTP/1.1\r\nHost: " + ezserver_ip + ":" + ezserver_port + "\r\nConnection: close\r\nUser-Agent: EZhometech\r\n\r\n"; outbuffer = sendbuffer.getBytes(); outstream.write(outbuffer); // Receive EZserver HTTP Response toread = 1024; len = 0; for (int index = 0; index < toread; ) { len = instream.read(inbuffer, index, toread - index); if (len < 0) break; index = index + len; } revbuffer = new String(inbuffer); // Close Socket outstream.close(); instream.close(); } } catch (Exception ex) { Log.e(TAG, "Use Wired Cable...", ex); } return token; } else { return null; } } } catch (Exception ex) { Log.i("Network", "can not reach server..."); return null; } } private String User_Logout(String token, String ezserver_ip, int ezserver_port, String username, String password) { String sendbuffer = null; String revbuffer = null; int keyword_pos = 0; int crln_pos = 0; byte inbuffer[] = new byte[1024]; byte outbuffer[] = new byte[1024]; Socket socket; try { // Connect EZserver Log.i("Logout", "Start"); socket = new Socket(ezserver_ip, ezserver_port); //if (socket!=null) { OutputStream outstream = socket.getOutputStream(); InputStream instream = socket.getInputStream(); // Send EZserver HTTP Command sendbuffer = "GET HTTP/1.1 /token/destroytoken?token=" + token + "\r\nUser-Agent=EZhometech\r\n\r\n"; outbuffer = sendbuffer.getBytes(); outstream.write(outbuffer); //} // Receive EZserver HTTP Response int toread = 1024; int len = 0; for (int index = 0; index < toread; ) { len = instream.read(inbuffer, index, toread - index); if (len < 0) break; index = index + len; } revbuffer = new String(inbuffer); // Close Socket outstream.close(); instream.close(); //Log.i("",revbuffer); // Get token if (revbuffer != null) { if (revbuffer.contains("200 OK") == false) { g_token = null; return null; } else { keyword_pos = revbuffer.indexOf("token="); if (keyword_pos != -1) { crln_pos = revbuffer.indexOf("\r\n", keyword_pos); token = revbuffer.substring(keyword_pos + 6, crln_pos); Log.i("Logout", token); return token; } else { return null; } } } else { return null; } } catch (Exception ex) { Log.e(TAG, "error: " + ex.getMessage(), ex); return null; } } private void initializePlayer() { if (g_player_select==1) { TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(); trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory); player = ExoPlayerFactory.newSimpleInstance(this,trackSelector); /* trackSelector.setParameters( trackSelector .buildUponParameters() .setPreferredAudioLanguage("eng")); */ //player = ExoPlayerFactory.newSimpleInstance(this); mVideoView.setPlayer(player); Uri uri = Uri.parse(g_url); MediaSource mediaSource = buildMediaSource(uri); playerControlView.setPlayer(player); player.setPlayWhenReady(playWhenReady); player.prepare(mediaSource, false, false); //spinner.setVisibility(View.GONE); }else if (g_player_select==2) { vlc_player(g_url); } } private void playVideo() { try { final String path = g_url; weburl=g_movieurl.replaceAll(" ", "%20"); final String srt_path="http://"+g_ezserver_ip+":"+g_http_port+"/"+weburl+".srt"+"?token="+g_token; InputStream ins; Log.v(TAG, "path: " + path); if (path == null || path.length() == 0) { Toast.makeText(Ovp_VOD.this, "File URL/path is empty", Toast.LENGTH_LONG).show(); } else { // If the path has not changed, just start the media player if (path.equals(current) && mVideoView != null) { //mVideoView.start(); //mVideoView.requestFocus(); initializePlayer(); return; } current = path; Hide_Playback_Menu(); try { /* mVideoView.setVideoURI(Uri.parse(path)); mVideoView.start(); mVideoView.requestFocus(); */ g_url=path; initializePlayer(); g_bPlaying=true; } catch (Exception e) { Log.e(TAG, "error: " + e.getMessage(), e); if (mVideoView != null) { // mVideoView.stopPlayback(); } } } } catch (Exception e) { Log.e(TAG, "error: " + e.getMessage(), e); if (mVideoView != null) { //mVideoView.stopPlayback(); } } }